首页 python正文

Reverse for 'tag' with arguments '('',)' not found. 1 pattern(s) tried: ['tag/(?P[^/]+)$']

启明SEO python 2022-02-14 11:03:59 2220 1 Django

今天遇到了这个问题,发现了一个道理,就是{% url %} 解析URL,这个时候一定要主要,传递的参数中是否有空,如果有空请一定要排除,不然就会报错。

我今天就出险了这样的错误,主要是想获取博客的所有标签,及标签所对应的内容。我的urlpatterns规则是这样写的:

path('tag/<str:tag>', views.tag_list, name='tag')

前端调用代码如下:

<li class="submenu"><a target="_blank" href="{% url 'tag' tag %}">{{tag}}</a></li>

运行之后就报错了,提示Reverse for 'tag' with arguments '('',)' not found. 1 pattern(s) tried: ['tag/(?P<tag>[^/]+)$']

当我使用下面这个代码调用的时候,就正常:

<li class="submenu"><a target="_blank" href="tag/{{ tag }}">{{tag}}</a></li>

思考了一下,然后在views打印出tags,发现有一些空的。这时,我想起不是所有的文章都设置了标签。

QQ截图20220214111744.jpg

解决办法

在views中修改代码,增加一个判断文章是否有标签的功能,代码如下:

for ar in arlist:
    content['total'] +=ar.get_readnum()
    if ar.tags:
        atags=ar.tags.split(',')
        content['tags']+=atags
    else:
        print('没有标签')

再次运行,一切正常。

评论

Python好学公众号

好文推荐

实时访客入口页面出现bd_vid=标识是什么原因

实时访客入口页面出现bd_vid=标识是什么原因

最近查看百度实时访客,总是会看到入口页面会多......

有了微信视频号,但是没有发布权限,怎么开通

有了微信视频号,但是没有发布权限,怎么开通

视频号是微信在2020年1月19号开始内测的......

如何用python抓取爱企查企业信息

如何用python抓取爱企查企业信息

前段时间,经理让我去找一些企业的信息,我平常......

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

对于一般企业网站或者博客来说,对服务器的配置......

网站始终只收录一个首页,为什么

网站始终只收录一个首页,为什么

新做了两个网站,但是一直只是收录一个首页,快......

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

修改浏览指纹的方法其实也是很简单,主要使用到......