首页 > 解决方案 > 使用 django 时表单帖子出现 403 禁止错误

问题描述

<form  action="{% url 'create'%}" method="POST" >
{% csrf_token %}

这在我的模板文件中。

def create(request):
    return render(request, "auctions/create.html")
    if request.method == "POST":
        title = request.GET["title"]
        des = request.GET["description"]
        bid = request.GET["startingBid"]
        imageurl= request.GET[ "imageUrl"]
        category = request.GET["category"]
        image = request.GET["image"]
        listing= Auctionlisting(request,title=title,description=des,startingBid=bid,imageUrl=imageurl,category=category)
        return render(request, "auctions/index.html",{
        "listing":Auctionlisting.objects.all()
        })

这是我的views.py。仍然在使用 csrf 令牌后,我收到 403 禁止错误。请指导我。这些标题,描述和所有都是我的输入......

标签: pythondjangodjango-modelsdjango-formscsrf-token

解决方案


只需像这样重新排列您的代码:

def create(request):
    if request.method == "POST":
        title = request.GET["title"]
        des = request.GET["description"]
        bid = request.GET["startingBid"]
        imageurl= request.GET[ "imageUrl"]
        category = request.GET["category"]
        image = request.GET["image"]
        listing= Auctionlisting(request,title=title,description=des,startingBid=bid,imageUrl=imageurl,category=category)
        listing.save() # save before getting them from database
        return render(request, "auctions/index.html",{
        "listing":Auctionlisting.objects.all()
        })
    else:
        return render(request, "auctions/create.html")    


推荐阅读