gpt4 book ai didi

python - Django 模板反向 URL 解析不起作用

转载 作者:行者123 更新时间:2023-11-28 17:48:25 24 4
gpt4 key购买 nike

我的项目的 urls.py 中有以下内容:

urlpatterns = patterns('',
url(r'^watches/(?P<object_id>\d+)/$', list_detail.object_detail, watch_detail, name='watch_detail'),
)

但是,模板中的以下行返回错误:

<li><a href ="{% url 'watch_detail' 1 %}">A link</a></li>

它返回这个错误:

NoReverseMatch at /watches/

Reverse for ''watch_detail'' with arguments '(1,)' and keyword arguments '{}' not found.

这让我很困惑,因为如果我运行“manage.py shell”,我会得到以下结果:

>>> from django.core.urlresolvers import reverse
>>> reverse("watch_detail", args=(1,))
'/watches/1/'
>>>

有什么可能是错误的建议吗?

谢谢。

最佳答案

您的 url conf (watch_detail) 中的第三个参数是什么?看着 docs ,你的第三个参数应该是一个字典。

您的 conf 文件应该如下所示吗? -

urlpatterns = patterns('',
url(r'^watches/(?P<object_id>\d+)/$', 'list_detail.object_detail.watch_detail', name='watch_detail'),
)

(假设您的 View 位于 list_detail/object_detail/watch_detail)。

澄清一下,您还可以传递 View 函数而不是字符串路径,因此您的 url conf 可以写成 -

from your_app.your_module import watch_detail

urlpatterns = patterns('',
url(r'^watches/(?P<object_id>\d+)/$', watch_detail, name='watch_detail'),
)

其中第二个参数 watch_detail 是您的 View 函数。

编辑

如果 watch_detail 确实是一个参数,那么您需要将其包含在模板反向函数中 -

{% url 'watch_detail', 1, watch_detail %}

关于python - Django 模板反向 URL 解析不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14411729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com