参考
What does the django namespace solve?
app_name存在的意义
不同的应用存在相同的url,为了避免使用reverse()方法出现
反向解析
错误
namespace存在的意义
一个项目可以创建多个url映射到一个app中,那么如何让app的reverse()区分到底是哪个url访问它呢
有namespace必须有app_name,反之不成立
Analyse
NAMESPACE和APP_NAME不存在的日子
实现功能:请求index 界面后重定向到reverse(‘login’),无法成功反向解析url
NAMESPACE和APP_NAME存在的日子
Q&A
-
无APP_NAME,urls.py 中每个path内的name 是啥?
答:该path的第一个参数的别名 -
每个子路由中的app_name 用来干嘛?
答: 一个Django 项目可以有很多个application,每个子路由可能都是一个新的应用,用来区别各应用 -
有APP_NAME和NAMESPACE时,url 是如何被解析的?
答:可以通过读取当前NAMESPACE 知道是总路由中哪一条path 被触发, 然后再进入子路由中 -
如果 reverse() 中的参数为app_name:path ,是否能正常跳转