我有以下网址:Django的NoReverseMatch在
url(r'^%sdform/' %(URLPREFIX), pv.dform, name='dform'),
url(r'^%sform/(P?<growl>.*)/' %(URLPREFIX), pv.dform, name='dform'),
视图代码:
def dform(request, growl = None)
是方法签名
重定向代码:
msg = 'test'
return redirect('dform', growl=msg)
任何想法,为什么我得到那个错误?我正确的参数发送正确的参数与正确的参数名称和所有。
编辑: 基于下面的答案,我想:
url(r'^%sdform/(P?<growl>.*)/' %(URLPREFIX), pv.dform, name='dform_message')
,改变了重定向到:
return redirect('dform_message', growl='Updated Settings')
我仍然得到NoReverseMatch
什么是URLPREFIX?这似乎不是构建您的URL模式的正确方法。 –
为什么不呢?我通过lighttpd设置了一个反向代理,所以这个应用程序可能位于'http:// mydomain/djangoapp1'和'http:// mydomian2/djangoapp2'等等,所以我可以设置一个环境变量并通过settings.py读取它以设置web应用程序的“应用程序上下文”。那有什么问题? – mikeb
您的网络服务器应该通过SCRIPT_NAME环境变量传递位置; Django自动读取并处理所有内容。你不需要做你正在做的事情。 –