【发布时间】:2015-09-27 02:25:08
【问题描述】:
我有以下网址:
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 读取它来设置“应用程序webapp 的上下文”。这有什么问题? -
您的网络服务器应该通过 SCRIPT_NAME 环境变量传递位置; Django 会自动读取并处理所有内容。你不需要做你正在做的事情。
-
感谢您的提示,我在文档中没有看到。这不是我的经验,有没有这样的设置。
-
完整的错误信息是什么?
标签: django