参考资料

  1. Docker Hub 怎么用详细说明以及案例
  2. BusyBox 是一个集成了多个 Unix 常用工具的轻量级软件
  3. SWI-Prolog 是一个开源的 Prolog 实现,广泛用于人工智能、自然语言处理和知识表示等领域
  4. Oracle Linux 是由 Oracle 公司提供的企业级 Linux 发行版
  5. AlmaLinux 是一个开源、企业级的 Linux 发行版
  6. docker安装ubuntu详细说明以及案例
  7. Teleport 是一款开源的访问基础设施工具
  8. Debian 是一个自由开源的操作系统

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。