URL命名在模板中不起作用

时间:2012-07-19 15:18:35

标签: django django-templates django-urls

当我去/ blog / tag / 1看到第一个现有的标记项,它会对tag.html做出响应时,我得到一个例外:“渲染时捕获NoReverseMatch:反向''添加节点''没有找到参数'()'和关键字参数'{}'。“

我的 URLs.py:

中有类似的内容
url(r'^blog/add_node/$', 'Alpha.Gamma.views.add_node', name='add-node'),

Views.py:

def add_node(request):
    tag = Tag.objects.all()
    action = reverse("add-node-proc")
    title = "Submit Article"

    return render_to_response("blog/add_node.html", add_csrf(request, action=action, title=title, tags=tag, button="Submit Article"))

tag.html 的模板有:

<a id="new_node" class="buttont" href="{% url 'add-node' %}">Add new blog post</a>
<br />
<br />

我得到的错误:

渲染时的NoReverseMatch:反向''add-node'',参数'()'和关键字参数'{}'找不到。

它突出显示了我为上面的tag.html添加的行。

add_node.html是一个简单的表单模板。我做错了什么,文件说我正在做的一切正确。

如果我更改模板:“url'add-node'”到“url Alpha.Gamma.views.add_node”,一切都会突然发生 - 为什么???我不明白这个django url调度员。

是的,我已多次重启apache。

1 个答案:

答案 0 :(得分:1)

如果您使用的是网址标记,请注意您的网址名称周围不需要引号:

{% url add-node %}

{% url 'add-node' %}