我正在尝试在首页上添加指向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.
这到底是怎么回事?感谢所有帮助。
在urlpatterns
中使用namespace='blog'
。看着the django documentation for the {% url %}
template tag,它说:
如果要检索命名空间的URL,请指定全限定名称:
{% url %}
如果将blog命名空间添加到您的templatetag调用中,它将起作用:
{% url 'myapp:view-name' %}