我如何添加链接到另一个页面[Django 3.0]?找不到反向

问题描述 投票:0回答:1

我正在尝试在首页上添加指向blogDetails.html的链接,但是使用{% url '...' %}模板标记会引发找不到反向异常。

index.html

<a href="{% url 'blogDetails' %}">O blogu</a>

urls.py

path('blogDetails/', views.BlogDetailsPageView.as_view(), name='blogDetails'),

views.py

class BlogDetailsPageView(TemplateView): 
    template_name = 'blog/blogDetails.html'

main urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls', namespace='blog')),
]

这是我得到的错误:

Reverse for 'blogDetails' not found. 'blogDetails' is not a valid view function or pattern name.

这到底是怎么回事?感谢所有帮助。

python django anchor
1个回答
0
投票

urlpatterns中使用namespace='blog'。看着the django documentation for the {% url %} template tag,它说:

如果要检索命名空间的URL,请指定全限定名称:

{% url %}

如果将blog命名空间添加到您的templatetag调用中,它将起作用:

{% url 'myapp:view-name' %}
© www.soinside.com 2019 - 2024. All rights reserved.