为什么反向失败的原因是“ abc”而不是“ abc /”?
因为它将其解释为视图名称(并且您确实有一个名为的视图'abc'
,请参见monitor.urls
文件)。这意味着Django将调用reverse
以计算URL。该值abc/
被解释为实际URL,这意味着Django将不会调用reverse
以确定该URL。
这也解释了为什么reverse
失败:具有名称的视图abc
还需要一个名为的参数id
。否则Django将无法查找URL,因为abc
没有参数的情况下不会调用任何视图。
redirect("abc", id=...)
参数...
的值在哪里id
。
那是因为它知道可用的URL,并且1)它知道在何处abc
定义了被调用的视图,以及2)它知道前面monitors.urls
包含了该视图monitor/
。
如果我在主urls.py中拥有另一个名为“ xyz”的应用程序,该应用程序也具有“ abc”视图,该怎么办?