带有{%url ...%}和关键字args的NoReverseMatch

jma*_*jma 3 django django-templates

我遇到此错误的问题:

Caught NoReverseMatch while rendering: Reverse for ''pennies.views.seed_preview''
with arguments '()' and
keyword arguments '{'sa': 1724158887L, 'sh': 31L}' not found.
Run Code Online (Sandbox Code Playgroud)

这是由这个模板产生的:

<a href="{% url 'pennies.views.seed_preview' sh=seed.id sa=seed.salt %}">
Preview</a>
Run Code Online (Sandbox Code Playgroud)

这一点 url.py

url(r'^seedpreview/sh=(?P<shareable_id>\d+)/sa=(?P<salt>\d+)$', \
    'pennies.views.seed_preview'),
Run Code Online (Sandbox Code Playgroud)

和这个功能签名

def seed_preview(request, shareable_id, salt):
Run Code Online (Sandbox Code Playgroud)

(当然还有来自未来的网址).而错误告诉我,django已经捕获了正确的字典以找到我的功能.阅读templatetags/future.py也让我觉得我做得对,但显然我没有.

有什么指针吗?

sec*_*ond 6

你使用的是错误的键,应该是

{% url 'pennies.views.seed_preview' shareable_id=seed.id salt=seed.salt %}
Run Code Online (Sandbox Code Playgroud)