Python 名为Django的NoReverseMatch

Python 名为Django的NoReverseMatch,python,django,match,django-urls,reverse,Python,Django,Match,Django Urls,Reverse,知道为什么会返回NoReverseMatch错误吗?从一个叫做 URL.py: url(r'^(?P<object_id>\d+)/rate/(?P<score>[\d\-]+)/$', AddRatingFromModel(), { 'app_label': 'appname', 'model': 'Thing', 'field_name': 'rating', }, name='thing_rating'), 您需要为url的参数传入参数(我

知道为什么会返回
NoReverseMatch
错误吗?从一个叫做

URL.py:

url(r'^(?P<object_id>\d+)/rate/(?P<score>[\d\-]+)/$', AddRatingFromModel(), {
    'app_label': 'appname',
    'model': 'Thing',
    'field_name': 'rating',
}, name='thing_rating'),

您需要为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 %}
{%表示物品列表中的物品%}
...
...
{%endfor%}
我想你还需要在url名称周围加引号


下面是关于url标签的更多信息:

您是否包含url配置?您是否传递了对象id和分数的有效值?哦,对了。谢谢如果我想用
Thing.id
表示
object.id
,你知道怎么做吗?谢谢你的想法!很难说没有查看视图代码,但您可能已经向上下文传递了一个东西。如果它是一个
DetailView
,则称为
object
,您可以使用
object\u id=object.id
。我的视图非常标准。我把它加在上面了。如果你有时间给我指出正确的方向,我将不胜感激!至于这个错误,我不确定。这些参数在我看来并不复杂,但请尝试切换到位置参数:
{%url'thing\u rating'thing.id 5%}
def index(request):
    thing_list = Thing.objects.all()
    return render_to_response('index.html',
                         {'thing_list':thing_list},
                         context_instance=RequestContext(request))
{% for thing in thing_list %}
    ...
    <div id='vote'><a href='{% url "thing_rating" object_id=thing.id score=5 %}'>Up</a></div>
    ...
{% endfor %}