Django models 似乎正确的url路径没有ReserveMatch错误
我是django的新手,一直在用它开发我的第一个网站。我陷入这个错误已经有一段时间了: 错误: 诺维塞马奇/ 找不到参数为“(“”,)”的“标记”的反转。1个已尝试的模式:[“标签/(?P[-a-zA-Z0-9_100;]+)$” 请求方法:获取 请求URL:http://localhost:8000/ Django版本:3.1.4 异常类型:NoReverseMatch 异常值: 我知道这意味着我的URL有问题,但是,尽管我尝试了,我似乎找不到它。目标是创建具有标记的帖子。点击一个标签将引导到带有该标签的帖子页面 当我用标签手动输入url时,它似乎起作用了。然而,当我试图通过fronend访问它时,出现了错误。我真的希望有人能帮我。先谢谢你 我的型号:Django models 似乎正确的url路径没有ReserveMatch错误,django-models,django-views,Django Models,Django Views,我是django的新手,一直在用它开发我的第一个网站。我陷入这个错误已经有一段时间了: 错误: 诺维塞马奇/ 找不到参数为“(“”,)”的“标记”的反转。1个已尝试的模式:[“标签/(?P[-a-zA-Z0-9_100;]+)$” 请求方法:获取 请求URL:http://localhost:8000/ Django版本:3.1.4 异常类型:NoReverseMatch 异常值: 我知道这意味着我的URL有问题,但是,尽管我尝试了,我似乎找不到它。目标是创建具有标记的帖子。点击一个标签将引导到
class Tag(models.Model):
title = models.CharField(max_length=100, verbose_name='Tag')
slug = models.SlugField(null=False, unique=True)
class Meta:
verbose_name = 'Tag'
verbose_name_plural = 'Tags'
def get_absolute_url(self):
return reverse('tags', args=[self.slug])
def __str__(self):
return self.title
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
return super().save(*args, **kwargs)
class Post(models.Model):
#other fields
tags = models.ManyToManyField(Tag, related_name='tags')
我的观点
def tags(request, tag_slug):
tag = get_object_or_404(Tag, slug=tag_slug)
posts = Post.objects.filter(tags=tag).order_by('-date_posted')
context = {
'tag': tag,
'posts': posts,
}
return render(request, 'blog/tags.html', context)
我的url
path('tag/<slug:tag_slug>', tags, name='tags'),
path('tag/',tags,name='tags'),
我的模板
{% for tag in post.tags.all %}<a class="btn btn-outline-info mr-2" href="{{ tag.get_absolute_url }}">{{ tag }}</a>{% endfor %}
{%for post.tags.all%}{%endfor%}