Django 2.0实战:博客系统1

基于django的python实战博客系统开发 在Django中,表结构是通过模型(models)来设计的,而不是直接操作数据库表。Django的ORM(对象关系映射)允许你使用Python代码定义数据模型,然后由Django来处理与数据库的交互。项目中,需求驱动开发。即开发人员需要以需求为目标来实现业务逻辑。3 按着每一个功能分别进行开发。1 需求分析(产品经理) 阅读详情

功能分析

需求列表

1、用户端部分:

  • 网站需要对 SEO 友好,具体可参考搜索引擎站长白皮书 。另外,需要给搜索引擎提供 XML格式的 sitemap 文件 。
  • 博客需要提供搜索功能,搜索范围限定在标题 、分类和标签上 。 博客每天的增量数据为10 篇文章。
  • 能够根据某个分类查看所有关于这一分类的文章,分类没有层级的关系,只有一级分类 。一篇文章只能属于一个分类 。
  • 访问首页时, 需要能看到由新到旧的文章列表,以便于查看最新的文章 。 作者可以设置置顶某篇文章 ,也可以同时置顶多篇文章。 多篇文章置顶时 ,排序规则为从新到 旧 。
  • 列表分页需求 。 针对首页、频道页和标签页,都需要提供分页需求,每页展示 10 篇文章。列表页展示文章时, 需要展示摘耍 , 默认为文章的前 140 个字 。
  • 需要能够通过 RSS 阅读器订阅博主的文章,具体可参考 RSS 规范 。
  • 要能够对某一篇文章进行评论 。 评论不需要支持盖楼的模式,只需要在文章页面展示评论 。 在页面侧边栏,也需要能展示最新评论。
  • 能够配置友链,方便与网友进行链接 。 这在一个页面中展示 即可 ,不需要分类 。 但是需要能够指定某个友链的权重 ,权重高者在前面展示 。
     

2、作者端需求

  • 博客后台需要登录方可进入 。 目前没有多用户需求, 以后可能会有,要考虑可扩展 。
  • 能够创建分类和标签,一篇文章只能属于一个分类 ,但是可以属于多个标签 。 标签和分类都没有层级关系 。
  • 作者在后台需要设置文章标题、 摘要 (如果为空 , 则展示文章前 140 个字)、 正文、分类和标签 。 不需要实时保存 。 文章格式默为 Markdown。 开发周期够的话,增加可视化编辑器。
  • 增加文章配图时 ,图片需要增加水印 ,其内容为网站网址 。
  • 导航只是分类,默认展示在顶部 。 同时每篇文章都需要有浏览路径,以告知读者目前所处位置 。 浏览路径的组成为:首页>文章所属分类〉正文 。 对于导航的顺序, 作者可以设置权重 ,权重高者在前。 顶部最多展示 6 个分类,多余的分类展示到底部 。
  • 作者更新后,读者能够收到通知(暂时不开发)。
     

功能点梳理:从产品经历所提的需求中提炼出这个系统有哪些功能点,最终落实为功能列表/清单,进而再进行任务分配。

  • 后端渲染页面,对 SEO 友好 ;
  • 提供 sitem叩.xml 文件,输出所有文章;
  • 搜索功能,能够针对标题 、分类和标签进行搜索;
  • 根据分类和标签查看文章列表;
  • 文章可以设置置顶,可以同时设置多篇文章置顶;
  • 首页(列表页) 需要展示文章摘要, 140 字以内,可以作者填写,或者自动展示文章前140 个字·
  • 首页(列表页) 需要分页展示,每页 10 条;
  • 提供 RSS 页面,根据 RSS 2.0 规范输出内容;
  • 文章页面支持评论,不需要盖楼, 侧边栏能够展示最近评论;
  • 评论模块需要增加验证码功能,避免被刷;
  • 后台能够配置友链,所有友链在一个页面中展示 ;
  • 用户可以通过用户名和密码登录后台,之后才能创建文章;
  • 需要考虑多用户的扩展情况 , 多用户时需要对分类、标签、文章、友链的操作权限进行隔离;
  • 分类增、删 、改、查一一需要字段 id 、名称、 创建日期、创建人、是否置顶导航以及权重;
  • 标签增 、 删 、改、查一一需要字段 id、名称、 创建日 ;朗和创建人;
  • 文章增、删、改、查一一需要字段 id、标题、摘要、正文、所属分类、所属标签、状态(发布、草稿或删除)、 创建日期和创建人 ;
  • 侧栏模块用来展示侧边栏需要的数据,需要字段川、类型、标题、 内容 、 创建日期和创建人。

实体及关系

使用PonyORM(Python中的一个ORM库,详见https://editor.ponyorm.com/)提供的在线工具来画出对象实体模型。

对于网站功能整体来说,分为用户端和管理后台。

用户端的功能又可以分为以下4类:

  • 内容模块:首页、分类列表页、标签列表页和友链页
  • 评论模块:用户添加评论、展示评论的部分。
  • 侧栏模块:博客侧边栏展示的内容。
  • 功能模块:sitemap页面和RSS页面。

管理后台的功能分为以下两类:

  • 用户管理:登录、权限控制。
  • 内容管理:分类、文章以及侧边栏等内容的增、删、改、查。

    到此为止,我们通过对需求的评审和整理,最终得到了明确要开发的功能,然后对功能进行了实体抽取以及模块划分。后面我们要做的就是,在已经清楚知道要开发什么功能之后,如何进行技术选型。好的技术选型不仅能够提供开发效率,而且也能降低维护成本。

 

使用Django从零开始构建一个个人博客系统 本文介绍了使用Django框架从零构建个人博客系统的完整流程。文章首先分析了Django框架的优势,包括内置管理后台、ORM支持和安全机制等;然后详细规划了博客系统的核心功能模块,包括内容管理、用户认证和前台展示三大板块;接着提供了开发环境搭建的具体步骤,涵盖虚拟环境配置、依赖安装和项目初始化;最后展示了数据模型设计的关键部分。整个教程采用清晰的技术栈(Django+Bootstrap+PostgreSQL)和模块化的开发思路,适合想要学习全栈开发的初学者,通过系统学习可掌握从环境搭建到部署上线的完整开发流 阅读详情

相关推荐

Django实战之增加链接

书接 https://blog.csdn.net/weixin_32759777/article/details/104719760 上面完成的功能 首页 分类列表页面 标签列表页面 博文详情页面 还有 搜索结果页面 作者列表页面 侧边栏的热门文章 文章访问统计 友情链接页面 评论模块 增加搜索和作者过滤 需求 根据搜索关键词搜索文章和展示指定作者的文章列表 这个任务和前面的类似都需要根据某种条...

东方佑 2万+

Django项目实战

本项目是一个使用Django开发的完整博客系统,使用Python3.6+Django1.11+MySQL 5.7 编写,系统前台和后台两个部分,具体功能包括:1. 前台功能:项目首页展示、博客分类查询、博客标签查询、友情链接、博客分页功能、博客详细、新评论文章、发表评论、评论展示、评论数、阅读数、登录功能、注册功能、邮箱验证功能、注销功能、页面模板、标签云功能、读者墙功能。

【django】各种关联关系的模型类设计

已知学生表、学生详情表、课程表、报名表、渠道表;其中学生表和学生详情表的关联关系为一对一;学生表和课程表的关系为多对多;学生表和渠道表的关系为一对多;虽然django会自定义第三张中间表,但是不能提供额外的字段,如果中间表需要包含其他字段,就需要自定义中间表,然后在定义多对多字段的时候,通过through参数指定第三张中间表。

python全栈 1011

手把手带你学会Django2.0框架

本课程是基于Python3.8和Django2.1.5框架进行讲解,主要内容有:1、模型模块学习内容大概是:模型分析、模型创建、模型迁移、模型查询等操作2、视图模块学习内容大概是:Request、Response、Cookie、Session等3、模板学习学习内容大概是:模板语言、过滤器、转义等4、其他常用模块学习内容大概是:富文本、分页、全文检索、缓存、管理后台、中间件等5、项目个人博客内容大概是:轮播图、首页文章、**评论文章、评论、登录注册、标签、分类等6、部署内容大概是:uWSGI、Nginx7、安全内容大概是:CSRF、XSS、点击劫持、SQL注入等

Django 3.0.5博客系统实战教程:结合Matery前端与SQLite数据库

本文还有配套的精品资源,点击获取 简介:本教程将引导学习者使用Python语言,借助Django 3.0.5框架和MaterializeCSS(Matery)前端框架以及SQLite数据库,构建一个博客系统。内容覆盖Django框架的核心概念,如模型、视图、模板和数据库交互。系统将展示如何利用Django处理HTTP请求、路由、用户认证等Web开发关键任务,并通过Mater...

weixin_30481539的博客 1547

基于django2.0的简单博客

主要用到的框架、编译器和数据库: django2.0+python3.6(Pycharm)+Mysql(sqlite3)

Django 入门到实战:打造热门博客系统

Django无疑是Python领域,最热的Web开发框架,功能强大,开发效率高,提供了强大的后台管理和ORM设计。但是发现很多同学都停留在Django的Hello World层面,能做出完整项目的是少之又少。基于这个原因,我开设了《Django实战》这门课程。《Django实现》通过一个完整的博客系统,让你能真正使用Django开发项目,课程内容包括:模型设计、模板设计、幻灯片展现、博客列表、博客详细、标签云、友情链接、分页、评论、搜索、自定义标签、登录、注册、发送邮件、后台富文本编辑器等。

CarPlay wired(USB)连接方案

CarPlay的wired(USB)的连接方案要求车载设备至少要支持USB2.0 Hi-Speed,支持USB Host Mode,该模式要求车载设备能够工作在USB device模式下,因为Apple设备在CarPlay中是作为USB Host的。而通常情况下,车载设备USB是工作在USB Host模式的,而外接的USB设备是工作在USB Device模式的,因而在这种情况下的CarPlay wired(USB)连接方案中就需要进行USB的模式切换。模式切换完成后便是Apple设备(USB HOST)的枚

Ke8323的博客 1万+

django开发个人博客系统

项目简介 运行平台:windows Python版本:3.4 Django版本:2.0 数据库工具:sqlite 开发工具:Pycharm+sublime-text 写在开头:这是我第一次使用Django进行web开发,在此之前并无任何web开发经验。其中,Django以及html/css都属于边学边用阶段,因此项目中可能出现一些粗糙的地方,读者可以自行规避。虽然本项目名为信息资源型系统,但是其实...

Ericam_ 4万+

【超详细】磁力计数据读取--以IST8310为例

第一章讲了IST8310的特性,I2C通信,最高支持400kHz通信速率,14位或者16位自适应数据输出等特性第二章讲了内部结构第三章讲了电气特性第四章讲了如何联系他们然后数据手册就没了。。。在大疆的开发手册中找到了寄存器的手册,如下:点开I2C配置选项, 下图是配好的:观察IST8310的数据手册,发现其支持最大400kHz的I2C通信速率,也就是快速I2C模式,所以第一行I2C Speed Mode我们选Fast Mode同时不要忘记了在C板中I2C3的两个IO口分别是PA8和PC9(一般来说都是这两个

lmh_12138的博客 1万+

从仿真到实机:四足机器人控制算法的全流程验证框架

本文系统阐述了四足机器人从仿真到实机的全流程验证框架。针对仿真与实机环境的巨大差异,文章详细介绍了在MuJoCo等高保真仿真环境中的建模、算法迭代与压力测试方法,并重点解析了通过硬件抽象层和中间件搭建通往实机的关键桥梁。最后,提供了实机部署的安全清单与调试策略,旨在帮助开发者构建可重复、风险可控的算法验证闭环,提升算法在真实世界中的鲁棒性与可靠性。

lilh34434的博客 383

从0到1:用Lask/Django框架搭建个人博客系统(4/10)

在本次使用 Lask 和 Django 框架构建个人博客系统的过程中,我仿佛经历了一场充满挑战与惊喜的冒险。从最初的技术选型,就像是在众多宝藏中挑选最适合自己的那一个,到一步步搭建环境、开发核心功能,每一个环节都倾注了我的心血。在这个过程中,我深刻体会到了 Lask 的轻量级与灵活性,以及 Django 的强大功能和完善生态系统带来的便利,就像同时拥有了一把灵活的瑞士军刀和一套功能齐全的专业工具,能够应对各种开发需求。

小相探索IT世界 1683

Bybit面经

这段总结描述了求职者在Bybit面试过程中的经历和相关问题,包括面试内容、求职者向面试官提问的问题以及关于Bybit的信息

郑泽洲的博客 2580

【django学习】——Django介绍和实战(开发简易版博客网页)

【django学习】——Django介绍和实战(开发简易版博客网页)

python_AI_fans的博客 8326

virtuoso--DFF

27-实验课-std_cell2

qq_61440044的博客 2006

SAP S/4HANA BP主数据-CVI模型

SAP BP主数据介绍 ECC系统中的客户、供应商主数据的限制: •一个客户或供应商仅能有一个地址 •客户和供应商没有关联关系(同一个实体公司) •如果一家公司既是供应商也是客户需建立两个主数据(数据冗余) •属性无时间相关性 S4系统中BP优点: •一个BP可以扮演多个角色(个人,客户,供应商)且角色之间数据共享 •时间相关的属性 •统一的数据架构,无数据冗余 •CVI模型可以确保BP和客户/供应商数据同步 SAP BP主数据配置 •配置BP角色/角色类别 •配置BP角.

qq_37785505的博客 1550

Django 2.0实战:博客系统2

创建项目 pip install Django~=1.11 mkdir typeidea,包含四个基本文件 关于requirements.txt有两点需要说明,一是有些团队可能会同时存在一个requirements_dev.txt文件,用来做开发环境的依赖项。二是在requirements.txt上面可以配置PyPI的源,如 -i http://pypi.doubanio.com/si...

Just for fun的专栏 579

逆向工具:一文讲述 Ghidra 的详细使用

Ghidra是由NSA开源的一款功能强大的逆向工程框架,支持多平台、多架构和多种文件格式分析。本文详细介绍了Ghidra的核心优势、安装配置方法、主界面功能模块,并通过一个CrackMe示例演示了完整的逆向分析流程。文章还讲解了高级功能如交叉引用、控制流图分析、数据类型重建和脚本自动化等,最后提供了常见文件格式的分析技巧。作为IDA Pro的免费替代方案,Ghidra适合个人学习、教学和中小项目使用。(149字)

数据知道的博客 4345

python实战计划_python实战项目从0开发一个Django博客系统

一. 项目展示二. 学前须知三. 开发环境四. 课程安排前置技能要求1. 熟练掌握python基础语法2. 基本掌握Django基础语法3. 熟悉mysql基础用法4. 了解基础前端知识(HTML+CSS+JavaScript)5. 了解基础网络编程知识技术亮点1. 采用Vue作为前端框架2. 采用Django作为后端框架3.采用Django模板引擎4.采用云通讯短信发...

weixin_39665302的博客 298

cesium vue2/vue3教程目录导航

以下是本专栏目录导航,送完整项目源码(拒绝单页源码),可以直接运行,全部配置免费视频教程(B站)。

qq_29384639的博客 4317

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Django】开发个人博客系统

使用Django开发个人博客系统,博客系统包括用户(博主)注册和登录、博主资料信息、图片墙功能、留言板功能、文章列表、文章正文内容和Admin后台系统。

mucheng771的博客 1359

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

从0到1:用Neapolitan构建Django博客系统的完整流程(含代码示例)

Neapolitan是一个为Django项目提供快速CRUD视图的可重用库,它能帮助开发者快速实现数据的增删改查功能,无需编写大量重复代码。本文将详细介绍如何使用Neapolitan从零开始构建一个功能完善的Django博客系统,让你轻松掌握这个强大工具的使用方法。 ## 📋 准备工作:安装与环境配置 ### 1. 安装Django和Neapolitan 首先,确保你已经创建并激活了虚拟环境

gitblog_00634的博客 312

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

如何快速掌握Django 2开发:《Django 2 by Example》项目实战指南

《Django 2 by Example》是一本通过实战项目学习Django 2框架的经典教程,由Packt出版社出版。本书通过构建四个完整项目——博客系统、社交图片分享平台、在线商店和在线教育平台,帮助开发者掌握Django开发的核心技能与最佳实践。无论是Django新手还是有一定经验的开发者,都能通过本书系统学习如何构建专业级Web应用。 ## 📚 项目结构概览:从基础到进阶的学习路径

gitblog_00303的博客 836

容器部署基于Django博客系统

容器化部署基于Django的博客系统

不知道 1910

[Django快速开发1]搭建一个简单的博客系统(1)

系列文章目录 Django快速开发0快速搭建环境并得到django项目的hello world 文章目录系列文章目录前言从Django的模型层开始书写定义文章模型:使用脚本向sqlite3中注入数据视图层之视图与URL定义视图配置URLconf书写前端视图bootstrap基本知识jinja2 前言 上一个博客讲述了如何搭建开发环境,并输出一个属于Django的hello world,紧接着本篇博客将继续浅析Django框架的MVT设计模式,边做讲解边并使用jinja2和Bootstrap快速搭建一个

weixin_45915507的博客 658

DjangoBlog项目:基于Django4.0的博客系统开发指南

DjangoBlog项目:基于Django4.0的博客系统开发指南 项目概述 DjangoBlog是一个基于Python 3.8和Django 4.0构建的现代化博客系统。它提供了完整的博客功能,包括文章管理、分类标签、评论系统等,同时集成了多种高级特性,适合开发者快速搭建个人博客或技术分享平台。 核心功能解析 1. 内容管理系统 文章与页面管理:支持Markdown语法和代码高亮,满足技术博客...

gitblog_00161的博客 446
上一篇: 利用Python通过频谱分析和KNN完成iphone拨号的语音识别
下一篇: Django 2.0:创建项目流程
CopperDong
博客等级 码龄14年 1205粉丝 466原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值