我在Django中遇到了一个奇怪的命名空间url问题,我在找到更简单的例子并使用
时找不到我做错了什么基本上,我的项目由两个应用程序组成,用户和模型。在我的一般urls.py中,我定义了:
url(r'^model/', include('model.urls', namespace="model")),
url(r'^user/', include('user.urls', namespace="user")),
在user.urls.py文件中,我定义了以下网址:
url(r'^duo/(?P<pseudo>[a-z]+)/$',views.duo, name='duo'),
二人观点相当简单:
def duo(request,pseudo):
print pseudo
return render(request,"user/duo.html",locals())
因此,当我在我的模板中使用时:
{% url 'user:duo' lena %}
我希望将网址解析为/ user / duo / lena。相反,我得到了以下NoReverseMatch:
Reverse for 'duo' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'user/duo/(?P<pseudo>[a-z]+)/$']
我接受任何猜测来解决我的错误!
答案 0 :(得分:1)
答案 1 :(得分:0)
根据讨论编辑: 你需要引用你的参数。关键字参数也可能使事情更清晰:
window.location.reload(true);
如果你没有引用该值,Django假设这是一个上下文变量,并且{% url 'user:duo' pseudo='lena' %}
不是你的情况下的上下文变量,它的计算结果为lena
。该错误实际上告诉您,您没有为反向查找提供args或kwargs。