Django网站大致创建流程

Django 作者:Daemon | 发布时间:2026年6月10日 11:38 公开

1. 创建项目

功能:创建 Django 项目主体

需要的文件 / 目录:

manage.py
项目配置目录/
    settings.py
    urls.py
    asgi.py
    wsgi.py

主要作用:

settings.py:项目总配置
urls.py:项目总路由
manage.py:运行项目、创建 app、迁移数据库

2. 创建 app

功能:按模块拆分网站功能

常见 app:

accounts:用户注册、登录、退出
notes:学习笔记、评论、分类、搜索
chat:聊天室、聊天记录
dashboard:个人主页或控制台

创建 app 后需要改:

settings.py

把 app 添加到:

INSTALLED_APPS

3. 配置总路由

功能:让项目知道不同网址交给哪个 app 处理

需要改:

项目配置目录/urls.py

常见配置:

/                 交给 notes
/accounts/        交给 accounts
/chat/            交给 chat
/admin/           Django后台

4. 用户注册功能

功能:用户创建账号

需要添加 / 修改:

accounts/forms.py
accounts/views.py
accounts/urls.py
accounts/templates/accounts/register.html

文件作用:

forms.py:定义注册表单
views.py:处理注册逻辑
urls.py:配置注册网址
register.html:注册页面

5. 用户登录功能

功能:用户输入账号密码登录

需要添加 / 修改:

accounts/views.py
accounts/urls.py
accounts/templates/accounts/login.html

文件作用:

views.py:验证用户名和密码
urls.py:配置登录网址
login.html:登录页面

6. 用户退出功能

功能:清除登录状态

需要添加 / 修改:

accounts/views.py
accounts/urls.py
base.html 或 首页模板

文件作用:

views.py:写退出逻辑
urls.py:配置退出网址
base.html:添加退出按钮

7. 学习笔记功能

功能:发布学习笔记、查看笔记列表、查看详情、编辑、删除

需要添加 / 修改:

notes/models.py
notes/forms.py
notes/views.py
notes/urls.py
notes/templates/notes/note_list.html
notes/templates/notes/note_detail.html
notes/templates/notes/note_form.html
notes/templates/notes/note_confirm_delete.html

文件作用:

models.py:定义笔记数据表
forms.py:定义笔记表单
views.py:处理增删改查逻辑
urls.py:配置笔记相关网址
note_list.html:笔记列表页面
note_detail.html:笔记详情页面
note_form.html:发布 / 编辑笔记页面
note_confirm_delete.html:删除确认页面

8. 笔记分类功能

功能:给笔记添加分类,比如 Django、Python、英语、网安

需要修改:

notes/models.py
notes/forms.py
notes/views.py
notes/templates/notes/note_list.html
notes/templates/notes/note_detail.html

文件作用:

models.py:给 Note 添加 category 字段
forms.py:让发布 / 编辑笔记时可以选择分类
views.py:处理分类筛选
note_list.html:显示分类和筛选框
note_detail.html:显示当前笔记分类

修改模型后需要执行:

makemigrations
migrate

9. 搜索功能

功能:根据标题或内容搜索笔记

需要修改:

notes/views.py
notes/templates/notes/note_list.html

文件作用:

views.py:接收搜索关键词并查询数据库
note_list.html:添加搜索输入框和搜索按钮

10. 评论功能

功能:在笔记详情页下面发表评论

需要添加 / 修改:

notes/models.py
notes/forms.py
notes/views.py
notes/templates/notes/note_detail.html

文件作用:

models.py:定义 Comment 评论表
forms.py:定义评论表单
views.py:处理评论提交和评论查询
note_detail.html:显示评论区和评论表单

修改模型后需要执行:

makemigrations
migrate

11. 聊天室功能

功能:用户可以进入聊天室实时聊天

需要添加 / 修改:

chat/models.py
chat/views.py
chat/urls.py
chat/consumers.py
chat/routing.py
chat/templates/chat/room.html
项目配置目录/asgi.py
settings.py
项目配置目录/urls.py

文件作用:

models.py:保存聊天记录
views.py:打开聊天室页面
urls.py:配置普通页面网址
consumers.py:处理 WebSocket 聊天逻辑
routing.py:配置 WebSocket 路由
room.html:聊天室页面
asgi.py:配置 WebSocket 支持
settings.py:配置 channels、daphne、CHANNEL_LAYERS
项目 urls.py:接入 chat app

修改模型后需要执行:

makemigrations
migrate

12. 聊天记录持久化

功能:刷新页面后还能看到以前的聊天记录

需要添加 / 修改:

chat/models.py
chat/consumers.py
chat/views.py
chat/templates/chat/room.html

文件作用:

models.py:定义 ChatMessage 表
consumers.py:收到消息后保存到数据库
views.py:进入聊天室时读取历史消息
room.html:显示历史聊天记录

13. 自定义中间件

功能:在请求进入 view 前后执行额外逻辑,比如访问日志

需要添加 / 修改:

项目配置目录/middlewares.py
settings.py

文件作用:

middlewares.py:写自定义中间件类
settings.py:把中间件加入 MIDDLEWARE

14. 网站美化

功能:统一页面样式,让网站看起来更像完整项目

需要添加 / 修改:

templates/base.html
static/css/style.css
各个页面模板

常见页面:

notes/templates/notes/index.html
notes/templates/notes/note_list.html
notes/templates/notes/note_detail.html
notes/templates/notes/note_form.html
notes/templates/notes/note_confirm_delete.html
accounts/templates/accounts/login.html
accounts/templates/accounts/register.html
chat/templates/chat/room.html

文件作用:

base.html:公共页面骨架、导航栏
style.css:统一样式
各页面模板:继承 base.html,填充自己的内容

需要配置:

settings.py

主要配置:

TEMPLATES 的 DIRS
STATIC_URL
STATICFILES_DIRS

15. 数据库迁移

功能:把 models.py 里的模型变化同步到数据库

只要改了:

models.py

一般都要执行:

makemigrations
migrate

常见改动:

新增模型
新增字段
修改字段
删除字段

16. Django网站整体文件关系

models.py
    定义数据库表

forms.py
    定义用户提交的表单

views.py
    写功能逻辑

urls.py
    配置网址和 view 的对应关系

templates
    写 HTML 页面

static
    放 CSS、JS、图片

settings.py
    写项目配置

asgi.py
    支持 WebSocket

admin.py
    注册模型到 Django 后台

17. Django网站基本流程

用户访问网址
    ↓
urls.py 匹配路由
    ↓
views.py 执行逻辑
    ↓
models.py 查询或保存数据库
    ↓
forms.py 校验用户提交的数据
    ↓
templates 渲染页面
    ↓
浏览器显示结果

18. 当前项目功能总结

这个学习记录网站大概包含:

用户注册
用户登录
用户退出
发布学习笔记
查看笔记列表
查看笔记详情
编辑自己的笔记
删除自己的笔记
笔记分类
笔记搜索
评论功能
聊天室
聊天记录持久化
页面美化
自定义中间件

对应主要 app:

accounts:用户系统
notes:笔记、分类、搜索、评论
chat:聊天室、聊天记录

评论区

暂无评论。

登录后发表评论