我正在构建一个博客应用程序,一切正常,但当我。它向我展示了:
Reverse for 'posts' with keyword arguments '{'id': 106}' not found. 1 pattern(s) tried: ['posts/$'] , views.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>
错误
当我点击Like按钮时,它显示Reverse for 'posts' with keyword arguments '{'id': 106}' not found. 1 pattern(s) tried: ['posts/$']
任何帮助都将不胜感激
先谢谢你
所以你用的是
redirect('mains:posts',id=post_id)
但是在
mains
应用程序中posts
URL不接受任何参数此错误为您提供了一个线索,因为它向您显示了它尝试的URL,即
posts/$
因此
redirect('mains:posts')
将匹配此尝试的URL,因为它不提供任何参数,并且路径/URL不需要任何参数从您包含的URL
path('post_like_dislike/<int:post_id>/',views.post_like_dislike, name='post_like_dislike'),
这是一个URL,它需要一个
Post
对象ID的参数redirect('mains:post_like_dislike', post_id=post_id)
相关问题 更多 >
编程相关推荐