【django基础教程总结】Django 是一个基于 Python 的高级 Web 框架,旨在帮助开发者快速构建安全、可维护的网站。它遵循“约定优于配置”的原则,提供了许多内置功能,如 ORM(对象关系映射)、模板引擎、认证系统等。以下是对 Django 基础知识的总结,结合文字说明与表格形式,便于理解与查阅。
一、Django 核心概念
| 概念 | 说明 |
| 项目(Project) | 一个完整的 Django 应用集合,包含多个应用和配置文件。 |
| 应用(App) | 项目中的模块化组件,用于实现特定功能,如用户管理、文章发布等。 |
| 模型(Model) | 定义数据库结构,使用 Python 类表示数据库表。 |
| 视图(View) | 处理请求并返回响应,是业务逻辑的核心部分。 |
| 模板(Template) | HTML 文件,用于渲染动态内容,支持变量和控制语句。 |
| URL 路由(URLconf) | 将 URL 映射到对应的视图函数或类。 |
| 中间件(Middleware) | 在请求和响应处理过程中执行额外操作,如身份验证、日志记录等。 |
二、Django 基本流程
1. 创建项目
使用 `django-admin startproject project_name` 创建新项目。
2. 创建应用
使用 `python manage.py startapp app_name` 创建新应用。
3. 配置应用
在 `settings.py` 中将应用添加到 `INSTALLED_APPS` 列表中。
4. 定义模型
在 `models.py` 中编写模型类,描述数据库表结构。
5. 迁移数据库
使用 `makemigrations` 和 `migrate` 命令更新数据库。
6. 编写视图
在 `views.py` 中定义处理请求的函数或类。
7. 配置 URL 路由
在 `urls.py` 中将 URL 路径映射到视图。
8. 创建模板
在 `templates/` 目录下编写 HTML 模板文件。
9. 运行服务器
使用 `runserver` 启动开发服务器,访问 http://127.0.0.1:8000 查看页面。
三、Django 常用命令
| 命令 | 说明 |
| `django-admin startproject` | 创建新的 Django 项目 |
| `python manage.py startapp` | 创建新的应用 |
| `python manage.py runserver` | 启动开发服务器 |
| `python manage.py migrate` | 应用数据库迁移 |
| `python manage.py makemigrations` | 生成数据库迁移文件 |
| `python manage.py createsuperuser` | 创建管理员账户 |
| `python manage.py shell` | 进入 Python shell 执行代码 |
| `python manage.py check` | 检查项目是否存在问题 |
四、Django 模型与数据库操作
Django 使用 ORM 来操作数据库,以下是常见操作方式:
| 操作 | 示例代码 |
| 创建对象 | `User.objects.create(name='John', email='john@example.com')` |
| 查询对象 | `User.objects.filter(name='John')` 或 `User.objects.get(id=1)` |
| 更新对象 | `user = User.objects.get(id=1); user.name = 'Jane'; user.save()` |
| 删除对象 | `User.objects.get(id=1).delete()` |
| 获取所有对象 | `User.objects.all()` |
| 排序 | `User.objects.order_by('name')` |
| 分页 | 使用 `Paginator` 类进行分页处理 |
五、Django 模板语言
Django 模板支持变量、过滤器、标签等语法,以下是常用语法示例:
| 语法 | 说明 | |
| `{{ variable }}` | 显示变量值 | |
| `{% if condition %}` | 条件判断 | |
| `{% for item in list %}` | 循环遍历列表 | |
| `{% block content %}` | 定义模板块,用于继承 | |
| `{{ user.username | lower }}` | 使用过滤器对变量进行处理 |
| `{% url 'home' %}` | 引用已命名的 URL |
六、Django 认证系统
Django 提供了强大的用户认证系统,包括登录、注册、权限管理等功能:
| 功能 | 说明 |
| 用户模型 | `User` 类,包含用户名、密码、邮箱等字段 |
| 登录 | 使用 `login(request, user)` 方法 |
| 注销 | 使用 `logout(request)` 方法 |
| 权限管理 | 通过 `is_authenticated`、`is_staff` 等属性判断用户状态 |
| 表单验证 | 使用 `AuthenticationForm` 和 `UserCreationForm` 进行表单处理 |
七、Django 静态文件与媒体文件
| 类型 | 说明 |
| 静态文件(Static Files) | 包括 CSS、JavaScript、图片等,需在 `settings.py` 中配置 `STATIC_URL` 和 `STATICFILES_DIRS` |
| 媒体文件(Media Files) | 用户上传的文件,通常存储在 `MEDIA_ROOT` 目录下,通过 `MEDIA_URL` 访问 |
八、Django 中间件
中间件是一些处理请求和响应的钩子函数,常见用途包括:
- 请求前:检查用户是否登录
- 响应后:记录日志或修改响应内容
总结
Django 是一个功能强大且易于上手的 Web 框架,适合快速开发中小型 Web 应用。掌握其核心概念和基本流程,能够帮助开发者高效地构建网站。通过合理使用模型、视图、模板和 URL 路由,可以实现复杂的业务逻辑,并借助 Django 内置的工具提升开发效率。
希望这份总结能为你的 Django 学习之路提供参考和帮助!


