Skip to content

概述

Django 是 Python 生态中最成熟的 Web 框架,遵循「 batteries included 」理念,内置 ORM、管理后台、用户认证、表单处理等开箱即用的功能。结合 Django REST Framework(DRF),可以快速构建 RESTful API。

为什么选择 Django?

  • 功能齐全:自带 ORM、管理后台、认证系统等
  • 安全可靠:内置 CSRF、XSS、SQL 注入等安全防护
  • 管理后台:开箱即用的 Admin 管理界面
  • 大型项目:适合中大型项目,社区活跃,文档完善

技术特性

特性说明
编程语言Python 3.11+
架构模式MTV (Model-Template-View) / DRF API
ORM 支持Django ORM(内置)
数据库PostgreSQL, MySQL, SQLite
性能评分★★★☆☆
学习曲线中等(需理解 Django 概念)
API 文档DRF + drf-spectacular (可选)
测试支持pytest, unittest

生成的项目结构

ThesisAI 生成的 Django 项目遵循官方推荐的 app 分层结构:

backend/
├── manage.py                  # Django 管理脚本(核心入口)
├── requirements.txt           # 依赖列表
├── config/                    # 项目配置目录
│   ├── __init__.py
│   ├── settings.py            # 主配置文件
│   ├── urls.py                # 根 URL 路由
│   ├── wsgi.py                # WSGI 入口
│   └── asgi.py                # ASGI 入口
├── apps/                      # 应用模块
│   ├── users/                 # 用户应用
│   │   ├── models.py          # 数据模型
│   │   ├── views.py           # 视图函数/类
│   │   ├── serializers.py     # DRF 序列化器
│   │   ├── urls.py            # 应用路由
│   │   └── admin.py           # Admin 注册
│   └── [业务应用]/            # 根据需求生成
├── static/                    # 静态文件
│   ├── css/
│   └── js/
├── templates/                 # 模板文件(如有前端页面)
├── tests/                     # 测试文件
├── .env.example               # 环境变量示例
└── Dockerfile

开发环境

环境要求

依赖版本要求说明
Python>= 3.11推荐 3.11+
pip最新版包管理器

创建虚拟环境

macOS / Linux:

bash
cd backend
python3 -m venv venv
source venv/bin/activate

Windows:

cmd
cd backend
python -m venv venv
venv\Scripts\activate

关于虚拟环境

虚拟环境可以隔离项目依赖,避免不同项目之间的冲突。每次运行项目前都需要激活虚拟环境。终端前面应该显示 (venv) 表示已激活。

安装依赖

bash
pip install -r requirements.txt

使用国内镜像加速:

bash
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

环境变量

bash
cp .env.example .env
变量名说明必填默认值
DEBUG调试模式True
SECRET_KEYDjango 密钥-
DATABASE_URL数据库连接-
ALLOWED_HOSTS允许的主机localhost,127.0.0.1

数据库迁移

bash
python manage.py migrate

如果需要创建超级用户(管理员):

bash
python manage.py createsuperuser

启动开发服务器

bash
python manage.py runserver

指定端口:

bash
python manage.py runserver 0.0.0.0:8000

:::success 服务启动成功

  • API 地址: http://localhost:8000
  • 管理后台: http://localhost:8000/admin
  • API 文档: http://localhost:8000/api/docs(如果配置了 DRF)

如果看到 Starting development server at http://127.0.0.1:8000/ 的消息,说明服务启动成功! :::

Django Admin 管理后台

Django 自带强大的管理后台,访问 http://localhost:8000/admin 即可使用。

使用 createsuperuser 创建管理员账号后登录,可以:

  • 管理数据模型(增删改查)
  • 查看用户列表和权限
  • 管理应用配置

常用命令

命令说明
python manage.py runserver启动开发服务器
python manage.py runserver 0.0.0.0:8000指定端口启动
python manage.py migrate执行数据库迁移
python manage.py makemigrations创建迁移文件
python manage.py createsuperuser创建超级用户
python manage.py shell进入 Django Shell
python manage.py collectstatic收集静态文件
python manage.py startapp <name>创建新应用

常见问题

虚拟环境未激活

如果提示找不到 Django,确保虚拟环境已激活。终端前面应该显示 (venv)

数据库迁移错误

  1. 确保数据库服务已启动
  2. 检查 DATABASE_URL 配置
  3. 尝试重新生成迁移文件:
bash
python manage.py makemigrations
python manage.py migrate

pip 安装很慢

使用国内镜像源:

bash
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

静态文件 404

开发环境下,确保 DEBUG=True。生产环境需要运行:

bash
python manage.py collectstatic

相关资源

Released under the MIT License.