【django基础教程总结】Django 是一个基于 Python 的高级 Web 框架,它提供了许多内置功能,使得开发 Web 应用变得更加高效和简洁。以下是对 Django 基础知识的总结,帮助初学者快速入门并掌握核心概念。
一、Django 简介
| 项目 | 内容 |
| 语言 | Python |
| 类型 | Web 框架 |
| 特点 | 高度模块化、内置 ORM、模板系统、认证系统等 |
| 官网 | [https://www.djangoproject.com](https://www.djangoproject.com) |
二、Django 项目结构
Django 项目通常包含以下几个关键文件和目录:
| 文件/目录 | 说明 |
| `manage.py` | 用于运行管理命令(如启动服务器、创建数据库等) |
| `settings.py` | 项目配置文件,包括数据库设置、应用列表、静态文件路径等 |
| `urls.py` | 路由配置文件,定义 URL 与视图的映射关系 |
| `models.py` | 数据库模型定义文件 |
| `views.py` | 视图函数或类,处理请求并返回响应 |
| `templates/` | 存放 HTML 模板文件 |
| `static/` | 存放静态文件(CSS、JS、图片等) |
三、Django 核心组件
| 组件 | 作用 |
| Models | 定义数据库表结构,使用 ORM 进行数据库操作 |
| Views | 处理请求逻辑,生成响应内容 |
| Templates | 使用 Jinja2 或 Django 模板引擎渲染页面 |
| URLs | 将 URL 映射到对应的视图函数 |
| Forms | 处理表单数据验证与提交 |
| Admin | 提供后台管理界面,方便管理员操作数据 |
四、Django 常用命令
| 命令 | 说明 |
| `python manage.py startproject project_name` | 创建新项目 |
| `python manage.py startapp app_name` | 创建新应用 |
| `python manage.py migrate` | 应用数据库迁移 |
| `python manage.py runserver` | 启动开发服务器 |
| `python manage.py createsuperuser` | 创建超级用户 |
| `python manage.py makemigrations` | 生成迁移文件 |
五、Django 数据库操作(ORM)
| 操作 | 示例代码 |
| 创建对象 | `User.objects.create(name='张三')` |
| 查询对象 | `User.objects.get(id=1)` 或 `User.objects.filter(name='张三')` |
| 更新对象 | `user = User.objects.get(id=1); user.name = '李四'; user.save()` |
| 删除对象 | `User.objects.get(id=1).delete()` |
| 查询所有 | `User.objects.all()` |
六、Django 模板语法
| 语法 | 说明 |
| `{{ variable }}` | 输出变量值 |
| `{% if condition %}` | 条件判断 |
| `{% for item in list %}` | 循环遍历 |
| `{% extends "base.html" %}` | 继承模板 |
| `{% block content %}{% endblock %}` | 定义块内容 |
七、Django 表单处理
| 功能 | 说明 |
| 自定义表单 | 使用 `forms.Form` 或 `forms.ModelForm` 定义表单字段 |
| 渲染表单 | 在模板中使用 `{{ form.as_p }}` 或手动渲染每个字段 |
| 验证表单 | 使用 `form.is_valid()` 判断输入是否合法 |
| 提交处理 | 在视图中获取 `request.POST` 数据并进行处理 |
八、Django 中间件
中间件是 Django 请求/响应处理过程中的“钩子”,可用于执行全局任务,例如:
- 认证用户
- 日志记录
- 设置语言
- CSRF 保护
九、Django 静态文件配置
| 配置项 | 说明 |
| `STATIC_URL` | 静态文件访问路径(如 `/static/`) |
| `STATICFILES_DIRS` | 额外的静态文件目录 |
| `STATIC_ROOT` | 收集静态文件的目标目录(用于生产环境) |
十、Django 常见问题与解决方案
| 问题 | 解决方案 |
| 页面无法加载 | 检查 `urls.py` 是否正确配置,确认 `runserver` 正在运行 |
| 数据库连接失败 | 检查 `settings.py` 中的数据库配置 |
| 模板找不到 | 确认 `TEMPLATES` 中的 `DIRS` 配置是否正确 |
| 表单验证失败 | 检查 `form.errors` 获取错误信息 |
总结
Django 是一个功能强大且易于上手的 Web 框架,适合构建各种规模的 Web 应用。通过掌握其基本结构、核心组件和常用命令,开发者可以更高效地进行项目开发。同时,合理使用模板、表单、ORM 和中间件,能够显著提升代码质量和可维护性。
希望这篇总结能为你的 Django 学习之路提供帮助!


