Skip to content

第二站:URL、视图与模板 ​

课程首页 | 路线映射

本站把“浏览工单”做成稳定 Web 合同。URL 负责定位资源,视图负责协调,模板负责展示。

可运行入口 ​

bash
mkdir -p tickets/templates/tickets
python manage.py check
python manage.py runserver

实现细节见URL、视图与模板边界和类视图、静态与媒体文件。

交付物与验收 ​

  • tickets 使用命名空间,模板只通过 {% url %} 反向生成地址。
  • 列表为空时有明确空状态;不存在详情返回 404。
  • 用户输入默认转义,不用 safe 掩盖来源不明的 HTML。
  • python manage.py test 覆盖 200、404 和空列表。

深水边界 ​

函数视图适合显式流程;通用类视图适合稳定 CRUD 生命周期。选择以可预测性为准。模板中访问关联对象可能触发查询,展示层仍可能制造 N+1。

练习(先不要看答案) ​

  1. 增加 /tickets/ 和 /tickets/<int:pk>/,使用 app_name。
  2. 详情页显示状态和创建时间,未知主键返回 404。
  3. 写测试证明 URL 名称改变时模板调用方不需要硬编码路径。

练习答案 | 下一站

用心记录每一步成长