表单 post 使用 django 时出现 403 禁止错误

form post getting 403 forbidden error while using django

<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 forbidden 错误。请指导我。 这些标题、描述和所有内容都是我的输入...

只需 re-arrange 您的代码如下:

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")