django入门了解框架
一、基本概念
Django 是一个典型的 Web 开发框架,但更准确地说,它是一个“全能型”(Batteries-included)后端框架,Django 是一个高度封装的工具。
- 普通库(Library):像你用的
requests,是你去调用它。 - 框架(Framework):是 Django 来调用你的代码。它制定了一套规则(比如必须有 views.py,必须有 urls.py),你只需要在规定的地方填上你的业务逻辑。
为什么叫“框架”? 因为它像盖房子的钢结构。它已经帮你处理了最复杂、最枯燥、最容易出错的部分:
- 安全:防 SQL 注入、防跨站脚本攻击(XSS)、防跨站请求伪造(CSRF)。
- 数据库:你不需要写 SQL 语句,用 Python 类就能操作数据库(ORM)。
- 路由:自动把网址映射到对应的函数。
- 后台:自动生成管理界面。
二、Django 核心三件套(MVT 架构理解)
📄 Models(模型)- 数据库设计
👉 数据库(存数据)
- 任务:在
myapp/models.py中定义数据结构。 - 学习点:字段类型 (
CharField,TextField,DateTimeField)、外键关系 (ForeignKey)。
📄 Views(视图)- 业务逻辑处理
👉 逻辑(干活的地方)
- 任务:修改
myapp/views.py,从数据库读取数据并传递给模板。 - 学习点:函数视图 vs 类视图 (CBV)、QuerySet API (
all(),filter(),get())。
📄 Templates(模板)- 页面渲染
👉 页面(HTML)
- 任务:创建 HTML 文件展示数据。
- 学习点:Django 模板语言 (DTL)、模板继承 、静态文件加载 。
- 目录结构建议:在
myapp下创建templates/myapp/文件夹。
“ 页面内容=数据库+视图 ” 决定
整个过程就是:用户发出请求→视图处理请求→模型提供数据→模板展示数据→用户接受相应
三、实现个人博客系统核心功能
1. 定义数据模型,编写models.py文件
需要注意的是,只要添加了新模块,就得有一次数据块迁移指令执行,从而创建新模块所对应的表结构。
// 执行数据库迁移: 在终端(Terminal)中运行以下命令,让 Django 在 SQLite 数据库中创建这张表:
python manage.py makemigrations
python manage.py migrate
或者直接在终端用基本CRUD指令操作数据库

2. 配置后台管理,编写admin.py文件
//创建超级管理员账号: 在终端运行:
python manage.py createsuperuser

(这里的警告可以忽略哦)
3. 编写视图,views.py
4. 配置路由,urls.py
首先创建 myapp/urls.py(为了保持项目结构清晰,我们建议在 myapp 内部处理自己的路由),
然后修改主路由 my_project/urls.py: 将原来的直接引用改为 include 方式,这样更规范。
5. 创建模板 (Template)
Django 需要 HTML 文件来展示数据。创建页面 myapp/templates/myapp/.html
6. 运行服务器(manage.py)
python manage.py runserver


(地址栏加入admin,进入后台管理页面)


四、代码层级

my_project和myapp文件夹里面目录结构不一样:
🏢 my_project = 公司总部
负责:
- 制定规则(settings.py)
- 指挥交通(urls.py)
- 决定用什么数据库
即不写业务代码,只做调度
🧑💻 myapp = 某个部门
负责:
- 干具体活(业务逻辑)
- 写代码(views)
- 管数据(models)
即真正写功能的地方,一个项目(my_project)可以有多个 app,比如本文中出现的comment模块可以直接重新开一个app,不用写在models.py了面了。
五、 学 Django 的 5 个核心好处
1️⃣ 开发效率极高
- 写个 model → 自动建表
- 注册 admin → 自动有后台
- 不用写 SQL
2️⃣ 自带“后台管理系统”
admin/ 这个东西:
- 企业内部工具直接能用
- CRUD 全自动
- 权限系统自带
3️⃣ 强制你学会“规范开发”
Django 不允许你乱写,即工程化开发思维:
- models(数据)
- views(逻辑)
- templates(页面)
4️⃣ 能做真实项目
- 博客系统
- 管理后台
- 小程序后端
- 企业内部系统
5️⃣ Python生态加持
Django = Python Web 可以结合:
- 爬虫
- 数据分析
- AI
比 Java Web 灵活很多
❗但Django 不适合什么?
高并发系统(比如抖音)
纯前端项目
它最适合:中后台系统 / 管理系统 / 内容系统
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)