1.为什么要使用干净的URLS
更加安全、易读。具体参考维基百科说明:Wikipedia’s article on Clean URLs.
2. 基本使用流程
- 在models.py创建SomeModel类(泛指各种model类),添加slug字段
- 在models.py定义的类中覆盖save方法,使用slugify把相应的字段的内容保存到slug字段
- makemigrations和migrate操作更新数据库
- 页面上请求SomeModel类的实例对象SomeObject(泛指SomeModel类的对象),此时传递该对象的slug字段的值给urls.py用于展示clean urls
- 根据urls.py映射的url内容将该值传递给要跳转的页面
总结:关键是把slug字段的内容传递给urls.py
3. 使用案例
使用一个Category类表示目录,Page表示一些具体的页面。index.html下有多个目录,每个目录下有若干的页面,每个页面也属于一个分类中。