django app中的NoReverseMatch错误

时间:2010-02-07 22:29:13

标签: django django-templates

我在我的一个模板中收到此错误,似乎无法弄清楚出了什么问题。

`NoReverseMatch: Reverse for 'getimagefile' 
with arguments '(12L, 'afN9LRzESh4I9CGe6tFVoA==\n')' and 
keyword arguments '{}' not found.

我的urls.py包含:

urlpatterns = patterns('myproj.myapp.views',
url(r'^getimage/(?P<extractedcontent_id>\d+)/(?P<encpw>.*)/$','getimagecontent',name='getimagefile'),
)

我的views.py包含:

def getimagecontent(request,extractedcontent_id,encpw):
........

最后,我给出错误的模板包含以下行:

<li class="active"><img src="{% url getimagefile img,encpw %}" title=""/></li>

2 个答案:

答案 0 :(得分:1)

您没有显示encpw来自哪里,但最后看起来有一个换行符(\n),这与url正则表达式不匹配。

答案 1 :(得分:1)

您的encpw变量以换行符结尾,默认情况下为。正则表达式字符不捕获这些。尝试更改正则表达式,以便打开DOTALL标志,该标志将与换行符匹配。

url(r'(?s)^getimage/(?P<extractedcontent_id>\d+)/(?P<encpw>.*)/$','getimagecontent',name='getimagefile'),

注意(?s)一开始就会打开DOTALL标志。