对 'tagged' 进行反转,但未找到参数 '('',)'。尝试了 1 种模式:['^tag/(?P<slug>[-\w]+)/$']
Reverse for 'tagged' with arguments '('',)' not found. 1 pattern(s) tried: ['^tag/(?P<slug>[-\w]+)/$']
我不断收到此错误消息:
Reverse for 'tagged' with arguments '('',)' not found. 1 pattern(s) tried: ['\^tag/\(\?P(?P[^/]+)\[\-\w\]\+\)/$$']
尝试加载我的 base.html 时,因为锚标记。
我看了其他有同样问题的帖子,但我仍然不知道我哪里错了。
views.py
class TagIndexView(TagMixin, ListView):
template_name = 'post/index.html'
model = Post
paginate_by = '10'
context_object_name = 'posts'
def get_queryset(self):
return Post.objects.filter(tags__slug=self.kwargs.get('slug'))
def tagged(request):
return render(request, 'blog/tagged.html', {'title': 'Tagged'})
urls.py
path(r'^tag/(?P<slug>[-\w]+)/$',TagIndexView.as_view, name='tagged')
base.html
锚标签:
<li class="list-group-item"><a href="{% url 'tagged' tag.slug %}">Tags</a></li>
但我一直收到 NoReverseMatch。在锚标签中,我尝试了“tag.slug”、“tag.id”、“tag.pk”和其他一些。
对正则表达式使用 re_path()
而不是 path()
。
参考:https://docs.djangoproject.com/en/3.2/topics/http/urls/#using-regular-expressions
使用[-\w]*
(0个或多个)代替[-\w]+
(1个或多个)允许空字符串('',)
.
调用 .as_view
和 .as_view()
创建视图函数。
# path(r'^tag/(?P<slug>[-\w]+)/$', TagIndexView.as_view, name='tagged')
re_path(r'^tag/(?P<slug>[-\w]*)/$', TagIndexView.as_view(), name='tagged')
我不断收到此错误消息:
Reverse for 'tagged' with arguments '('',)' not found. 1 pattern(s) tried: ['\^tag/\(\?P(?P[^/]+)\[\-\w\]\+\)/$$']
尝试加载我的 base.html 时,因为锚标记。 我看了其他有同样问题的帖子,但我仍然不知道我哪里错了。
views.py
class TagIndexView(TagMixin, ListView):
template_name = 'post/index.html'
model = Post
paginate_by = '10'
context_object_name = 'posts'
def get_queryset(self):
return Post.objects.filter(tags__slug=self.kwargs.get('slug'))
def tagged(request):
return render(request, 'blog/tagged.html', {'title': 'Tagged'})
urls.py
path(r'^tag/(?P<slug>[-\w]+)/$',TagIndexView.as_view, name='tagged')
base.html
锚标签:
<li class="list-group-item"><a href="{% url 'tagged' tag.slug %}">Tags</a></li>
但我一直收到 NoReverseMatch。在锚标签中,我尝试了“tag.slug”、“tag.id”、“tag.pk”和其他一些。
对正则表达式使用
re_path()
而不是path()
。参考:https://docs.djangoproject.com/en/3.2/topics/http/urls/#using-regular-expressions
使用
[-\w]*
(0个或多个)代替[-\w]+
(1个或多个)允许空字符串('',)
.调用
.as_view
和.as_view()
创建视图函数。
# path(r'^tag/(?P<slug>[-\w]+)/$', TagIndexView.as_view, name='tagged')
re_path(r'^tag/(?P<slug>[-\w]*)/$', TagIndexView.as_view(), name='tagged')