我一直想弄清楚一段时间,但我觉得我不知道框架足够好,以调试这个自己。NoReverseMatch在Django [新手]
基本上我创建了一个小博客风格的网站,我试图创建一个链接到页面来阅读帖子本身的帖子列表。
我有一个在我的模板循环:
模板/ home.py
<h1>Home Page</h1>
<p>welcome to the ven home page, {{ username }}!</p>
<a href="{% url 'users:logout' %}">Click here to log out</a>
<br>
<a href="{% url 'posts:create' %}">Click here to create a post</a>
<h2>Posts:</h2>
{% for post in posts %}
<div>
<hr>
<a href="{% url 'posts:show' id=post.id %}"><h4>{{post.title}}</h4></a>
<p>{{post.body}}</p>
<p><i>{{post.tags}}</i></p>
</div>
{% endfor%}
这是这是导致问题的行<a href="{% url 'posts:show' id=post.id %}"><h4>{{post.title}}</h4></a>
。我发现了错误
Reverse for 'show' with keyword arguments '{'id': 1}' not found. 1
pattern(s) tried: ['posts/(?P<post_id>\\d+)/view/$']
这里我的网址文件
url(r'^$', views.CreateFormView.as_view(), name='create'),
url(r'^(?P<post_id>\d+)/view/$', views.show_post, name='show')
的创建方法连接工作正常
,这里是它装载模板的观点:
def home(request):
if not request.user.is_authenticated:
return redirect('users:login')
posts = Post.objects.all()
username = request.user.username
return render(request, 'ven/home.html', {'username': username, 'posts':
posts})
如果需要更多信息,请告诉我,我会提供。 所有其他答案都表示,这个错误是与名称空间有关,但它与创建链接正常工作,所以我很难过。
在此先感谢!
谢谢!这似乎很简单,但我完全忽略了它 –