Django 是一个高级 Python Web 框架,鼓励快速开发和干净、实用的设计。
参考资料
Django 简介
Django 是一个高级 Python Web 框架,鼓励快速开发和干净、实用的设计。它遵循 MVC(模型-视图-控制器) 架构模式,但在 Django 中称为 MTV(模型-模板-视图)。Django 提供了许多内置功能,如 ORM、表单处理、用户认证、管理后台等,使开发者能够专注于业务逻辑而非底层实现。
Django 特点
快速开发:内置大量组件,减少重复代码。
安全:自动处理 SQL 注入、XSS、CSRF 等安全问题。
可扩展:支持高流量和模块化设计。
ORM:数据库操作无需直接编写 SQL。
自带管理后台:自动生成 CRUD 界面。
模板引擎:支持动态 HTML 渲染。
国际化:多语言支持。
最新更新内容及时间(截至 2023 年 10 月)
Django 5.0(预计 2023 年底发布)
新增对 Python 3.11 的全面支持。
改进异步视图和中间件。
表单字段的增强验证。
Django 4.2 LTS(2023 年 4 月发布)
长期支持版本(维护至 2026 年)。
新增
psycopg3
支持。改进缓存后端。
镜像下载地址
PyPI(官方包源):
pip install django
国内镜像(加速下载):
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple
官网地址
文档地址
含教程、API 参考、主题指南。
Docker 安装示例
# Dockerfile 示例 FROM python:3.9 WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
运行命令:
docker build -t django-app . docker run -p 8000:8000 django-app
YAML 配置示例(如用于 docker-compose.yml
)
version: '3' services: web: build: . ports: - "8000:8000" volumes: - .:/app environment: - DEBUG=1
常用错误及解决方法
ModuleNotFoundError: No module named 'django'
原因:未安装 Django 或虚拟环境未激活。
解决:运行
pip install django
。OperationalError: no such table
原因:未迁移数据库。
解决:执行
python manage.py migrate
。CSRF verification failed
原因:表单未添加
{% csrf_token %}
。解决:在模板表单中添加该标签。
TemplateDoesNotExist
原因:模板路径未正确配置。
解决:检查
settings.py
中的TEMPLATES.DIRS
。Port 8000 already in use
解决:更换端口或终止占用进程:
lsof -i :8000 kill <PID>
注意事项
使用
DEBUG=False
生产环境时需配置ALLOWED_HOSTS
。静态文件需通过
collectstatic
收集或使用 CDN。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。