1.为什么要使用干净的URLS

更加安全、易读。具体参考维基百科说明:Wikipedia’s article on Clean URLs.

2. 基本使用流程

  1. 在models.py创建SomeModel类(泛指各种model类),添加slug字段
  2. 在models.py定义的类中覆盖save方法,使用slugify把相应的字段的内容保存到slug字段
  3. makemigrations和migrate操作更新数据库
  4. 页面上请求SomeModel类的实例对象SomeObject(泛指SomeModel类的对象),此时传递该对象的slug字段的值给urls.py用于展示clean urls
  5. 根据urls.py映射的url内容将该值传递给要跳转的页面

总结:关键是把slug字段的内容传递给urls.py

3. 使用案例

使用一个Category类表示目录,Page表示一些具体的页面。index.html下有多个目录,每个目录下有若干的页面,每个页面也属于一个分类中。

具体参考:Tango with Django 第七章