参考资料

  1. WordPress 是一个开源的内容管理系统
  2. Silverpeas 是一个开源的企业协作平台
  3. docker添加官方镜像源详细说明以及案例
  4. Haxe 是一种开源的跨平台编程语言
  5. MongoDB 是一个开源的 NoSQL 数据库
  6. Erlang 是一种通用的并发编程语言和运行时环境
  7. SonarQube 是一个开源的代码质量管理平台
  8. docker安装openwrt详细说明以及案例

Django 简介

Django 是一个高级 Python Web 框架,鼓励快速开发和干净、实用的设计。它遵循 MVC(模型-视图-控制器) 架构模式,但在 Django 中称为 MTV(模型-模板-视图)。Django 提供了许多内置功能,如 ORM、表单处理、用户认证、管理后台等,使开发者能够专注于业务逻辑而非底层实现。


Django 特点

  1. 快速开发:内置大量组件,减少重复代码。

  2. 安全:自动处理 SQL 注入、XSS、CSRF 等安全问题。

  3. 可扩展:支持高流量和模块化设计。

  4. ORM:数据库操作无需直接编写 SQL。

  5. 自带管理后台:自动生成 CRUD 界面。

  6. 模板引擎:支持动态 HTML 渲染。

  7. 国际化:多语言支持。


最新更新内容及时间(截至 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

官网地址


文档地址


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

常用错误及解决方法

  1. ModuleNotFoundError: No module named 'django'

    • 原因:未安装 Django 或虚拟环境未激活。

    • 解决:运行 pip install django

  2. OperationalError: no such table

    • 原因:未迁移数据库。

    • 解决:执行 python manage.py migrate

  3. CSRF verification failed

    • 原因:表单未添加 {% csrf_token %}

    • 解决:在模板表单中添加该标签。

  4. TemplateDoesNotExist

    • 原因:模板路径未正确配置。

    • 解决:检查 settings.py 中的 TEMPLATES.DIRS

  5. Port 8000 already in use

    • 解决:更换端口或终止占用进程:  

      lsof -i :8000
      kill <PID>

注意事项

  • 使用 DEBUG=False 生产环境时需配置 ALLOWED_HOSTS

  • 静态文件需通过 collectstatic 收集或使用 CDN。