有什么想法为什么会返回 NoReverseMatch
错误吗?来自djano-ratings的 fork 叫updown .
url.py:
url(r'^(?P<object_id>\d+)/rate/(?P<score>[\d\-]+)/$', AddRatingFromModel(), {
'app_label': 'appname',
'model': 'Thing',
'field_name': 'rating',
}, name='thing_rating'),
模板:
<div id='vote'><a href='{% url thing_rating %}'>Up</a></div>
感谢您的任何想法!
<小时/>编辑:为了清晰起见添加了 View
def index(request):
thing_list = Thing.objects.all()
return render_to_response('index.html',
{'thing_list':thing_list},
context_instance=RequestContext(request))
最佳答案
您需要为 url 参数传递参数(我在这里使用关键字 args,但位置也可以)。
在 ListView 中,您可能会迭代您的项目,因此类似这样的方法有效:
{% for thing in thing_list %}
...
<div id='vote'><a href='{% url "thing_rating" object_id=thing.id score=5 %}'>Up</a></div>
...
{% endfor %}
我认为您还需要在网址名称周围加上引号。
以下是有关 url 标记的更多信息:https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#url
关于python - NoReverseMatch 命名 url Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13095999/