python - NoReverseMatch 命名 url Django

标签 python django match django-urls reverse

有什么想法为什么会返回 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/

相关文章:

python - 了解 Django 中的 View 评估

python - 在 Django 中重置密码

scala - 何时使用isInstanceOf和何时使用区分大小写语句(在Scala中)?

jquery - JavaScript 中相同 match() 方法的两个字符串

Python - 将稀疏文件读入稀疏矩阵的最佳方法

python - Pandas 隐藏一列,留在 df 中,但不显示在 html 表中

django - 配置 Django 开发服务器输出

python - 如何使用正则表达式从看似乱码的文本中提取某些子文本模式?

python - 在 Dreamhost 上使用 virtualenv 更新新的 Django 和 Python 2.7.*(带乘客)

python - 无法使用 pyparsing 正确解析此文件