我是靠谱客的博主 酷炫灰狼,最近开发中收集的这篇文章主要介绍python项目NoReverseMatch: Reverse for ‘topic‘ with arguments ‘(‘‘,)‘ not found解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 遇到的问题
- 解决方法
- 参考
遇到的问题
今天在阅读《python编程-从入门到实践》这本书,并且课本上的项目之时,在第18章:将显示所有主题的页面中的每个主题都设置为链接的代码中,遇到了错误
File "D:user文档pythonpython_worklearning_logll_envlibsite-packagesdjangourlsbase.py", line 86, in reverse
return resolver._reverse_with_prefix(view, prefix, *args, **kwargs)
File "D:user文档pythonpython_worklearning_logll_envlibsite-packagesdjangourlsresolvers.py", line 694, in _reverse_with_prefix
raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'topic' with arguments '('',)' not found. 1 pattern(s) tried: ['topics/(?P<topic_id>\d+)/$']
这个问题在于笔者修改了topics.html文件,下面是出错的版本:问题出在 链接href那里, 需要的是topic.id
,由于笔者手误,写成了tipic_id,导致反向匹配找不到。
{% extends "learning_logs/base.html" %}
{% block content %}
<p>Topics</p>
<ul>
{% for topic in topics %}
<li>
<a href="{% url 'learning_logs:topic' topic_id %}">{{ topic }}</a>
</li>
{% empty %}
<li>No topics have been added yet.</li>
{% endfor %}
</ul>
{% endblock content %}
当点击topics时,就会出现问题:
解决方法
检查自己写的代码,和书本上进行对照,一般是写错了某个地方。笔者将topic_id改为topic.id后,解决了问题。
正确的代码:
topics.html
{% extends "learning_logs/base.html" %}
{% block content %}
<p>Topics</p>
<ul>
{% for topic in topics %}
<li>
<a href="{% url 'learning_logs:topic' topic.id %}">{{ topic }}</a>
</li>
{% empty %}
<li>No topics have been added yet.</li>
{% endfor %}
</ul>
{% endblock content %}
参考
[1]https://blog.csdn.net/qq_20379795/article/details/80889068
最后
以上就是酷炫灰狼为你收集整理的python项目NoReverseMatch: Reverse for ‘topic‘ with arguments ‘(‘‘,)‘ not found解决方法的全部内容,希望文章能够帮你解决python项目NoReverseMatch: Reverse for ‘topic‘ with arguments ‘(‘‘,)‘ not found解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复