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



