Python HttpResponseRedirect Reverse不工作Django
我试图重定向我的网页后,提交了一个类似的按钮到同一页,但我不断得到一个错误Python HttpResponseRedirect Reverse不工作Django,python,django,Python,Django,我试图重定向我的网页后,提交了一个类似的按钮到同一页,但我不断得到一个错误 NoReverseMatch at /score/like/2 这里是网址 urlpatterns = [ path('user/<str:username>', UserPostListView.as_view(), name='user-posts'), path('', PostListView.as_view(), name='score'), path('<int:p
NoReverseMatch at /score/like/2
这里是网址
urlpatterns = [
path('user/<str:username>', UserPostListView.as_view(), name='user-posts'),
path('', PostListView.as_view(), name='score'),
path('<int:pk>/', PostDetailView.as_view(), name='post-detail'),
path('like/<int:pk>', LikeView, name='like_post'),
urlpatterns=[
路径('user/',UserPostListView.as_view(),name='user-posts'),
路径(“”,PostListView.as_view(),name='score'),
路径('/',PostDetailView.as_view(),name='post-detail'),
路径('like/',LikeView,name='like_post'),
这里是风景
def LikeView(request, pk):
post = get_object_or_404(Post, id=request.POST.get('post_id'))
post.likes.add(request.user)
return HttpResponseRedirect(reverse('post-detail', args=[str(pk)])) <-----Error highlighting here
def LikeView(请求,主键):
post=get\u object\u或\u 404(post,id=request.post.get('post\u id'))
post.likes.add(request.user)
返回HttpResponseRedirect(反向('post-detail',args=[str(pk)])给定模板您的URL.py
指定一个app_名称
。您需要在视图名称中使用该名称作为前缀
此外,您还可以使用哪个调用reverse
,并将结果包装到一个HttpResponseRedirect
(因此它会删除一些样板文件):
从django.shortcuts导入重定向
def LikeView(请求,主键):
post=get\u object\u或\u 404(post,id=request.post.get('post\u id'))
post.likes.add(request.user)
返回重定向('score:post detail',pk=pk)
<form action="{% url 'score:like_post' post.pk %}" method='POST'>
{% csrf_token %}
<button type='submit' name='post_id' class= "btn btn-primary btn-sm" value="{{post.id}}"> Like </button>
</form>
<strong>{{post.total_liked}} Likes </strong>
from django.shortcuts import redirect
def LikeView(request, pk):
post = get_object_or_404(Post, id=request.POST.get('post_id'))
post.likes.add(request.user)
return redirect('score:post-detail', pk=pk)