Python 现代开发学习笔记

(一)从个人书架进入完整站点

前两章已经分别实现 JSON API 和带页面的书架。现在继续保存相同书籍,加上阅读备注、分页和维护后台。账号、表单、迁移和权限都需要协作,Django 把这些常用部分放进同一套项目结构,我们沿一次保存动作逐项认识它们。

这章使用 Python 3.12 与 Django 5.2 系列,依赖范围固定在 5.2,精确版本记入锁定文件。配套 阅读记录站 已包含配置、迁移、模板与测试,代码位置见 示例索引。

先读(二)至(八),从最小请求连到项目、模型和迁移;再读(九)至(十三),观察查询、关联加载、表单和事务。(十四)至(二十)接上身份、页面、分页、权限和后台,最后实际启动并核对项目。部署相关设置可以在本机功能跑通后继续读(二十五)。

# 项目文件:reading_project/pyproject.toml
# 将模型应用、迁移、模板和静态资源一起打包,安装后仍可运行管理入口。
[build-system]
requires = ["setuptools>=80"]
build-backend = "setuptools.build_meta"

[project]
name = "reading-django-site"
version = "0.1.0"
description = "Python 3.12 学习笔记的 Django 阅读记录站"
requires-python = ">=3.12,<3.13"
dependencies = ["django>=5.2,<5.3", "httpx>=0.28,<1"]

[project.scripts]
reading-site = "reading_site.cli:main"

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-data]
library = ["templates/*.html", "templates/library/*.html", "templates/registration/*.html", "static/library/*.css"]
# 在 Django/reading_project 中按锁定结果准备环境。
uv sync --locked
uv run python -m django --version

使用 pip 时:

# 创建 Python 3.12 虚拟环境,安装相同依赖和当前包。
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r pip-requirements.txt
.\.venv\Scripts\python.exe -m pip install --no-deps -e .

后面的 uv run python 对应项目的 .venv/Scripts/python.exe。Django 自带测试运行器,本章使用 manage.py test;HTTPX 用于核对真实服务请求。

笔记正文与全部题解 · Ctrl / ⌘ K