【发布时间】:2021-04-25 00:07:09
【问题描述】:
我正在构建一个 BlogApp 并且一切正常,但是当我 return redirect('mains:posts',id=post_id) 时。它向我展示了:-
未找到带有关键字参数“{'id': 106}”的“帖子”的反向操作。尝试了 1 种模式:['posts/$'] , 视图.py
def post_like_dislike(request, post_id):
post = get_object_or_404(Post, pk=post_id)
# Like
if request.GET.get('submit') == 'like':
if request.user in post.dislikes.all():
post.dislikes.remove(request.user)
post.likes.add(request.user)
return JsonResponse()
elif request.user in post.likes.all():
post.likes.remove(request.user)
return redirect('mains:posts',id=post_id)
else:
post.likes.add(request.user)
return JsonResponse({'action': 'like_only'})
else:
messages.error(request, 'Something went wrong')
return redirect('mains:posts',id=post_id)
The Error is is at this Line -----------------^
detail.html
<form method="GET" class="likeForm d-inline" action="{% url 'mains:post_like_dislike' data.id %}"
data-pk="{{ data.id }}">
<button type="submit" class="btn"><i class="far fa-thumbs-up"></i>
<span id="id_likes{{data.id}}">
{% if user in data.likes.all %}
{{data.likes.count}}</p>
{% else %}
{{data.likes.count}}</p>
{% endif %}
</span><form><button name='submit' type='submit' value="like"> Like </button></form>
</button>
</form>
错误
当我点击喜欢按钮时,它显示Reverse for 'posts' with keyword arguments '{'id': 106}' not found. 1 pattern(s) tried: ['posts/$']。
任何帮助将不胜感激。
提前致谢
【问题讨论】:
-
请添加您的 url.py
-
您是否有一个名为
posts和另一个名为post的URL?看起来两者在这里混淆了,您正在将适用于post的 ID 传递给posts页面。 -
我只有视图、网址中的帖子。
-
@GaëtanGR,我已经上传了
标签: python html django django-views