1

任何想法为什么这会返回NoReverseMatch错误?来自一个名为updown的djano-ratings分支。

网址.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>

感谢您的任何想法!


编辑:为清楚起见添加了视图

def index(request):
    thing_list = Thing.objects.all()
    return render_to_response('index.html',
                         {'thing_list':thing_list},
                         context_instance=RequestContext(request))
4

1 回答 1

2

您需要为 url 的参数传递参数(我在这里使用关键字 args,但位置也可以)。

在列表视图中,您可能正在迭代您的项目,所以这样的事情有效:

{% for thing in thing_list %}
    ...
    <div id='vote'><a href='{% url "thing_rating" object_id=thing.id score=5 %}'>Up</a></div>
    ...
{% endfor %}

我认为您还需要在 url 名称周围加上引号。

这里有更多关于 url 标签:https ://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#url

于 2012-10-27T00:20:43.037 回答