程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了看似正确的网址路径没有 ReserveMatch 错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决看似正确的网址路径没有 ReserveMatch 错误?

开发过程中遇到看似正确的网址路径没有 ReserveMatch 错误的问题如何解决?下面主要结合日常开发的经验,给出你关于看似正确的网址路径没有 ReserveMatch 错误的解决方法建议,希望对你解决看似正确的网址路径没有 ReserveMatch 错误有所启发或帮助;

我是 django 的新手,并且一直在用它开发我的第一个网站。我已经被这个错误困住了一段时间:

错误:

noreverseMatch 在 / 未找到参数为 '('',)' 的 'Tags' 反转。尝试了 1 个模式:['tag/(?P[-a-zA-Z0-9_]+)$']

请求方式:GET 请求地址: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)

我的网址

path('tag/<slug:tag_slug>',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 %}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的看似正确的网址路径没有 ReserveMatch 错误全部内容,希望文章能够帮你解决看似正确的网址路径没有 ReserveMatch 错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:错误