python - 使用 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 禁止错误。请指导我。这些标题,描述和所有都是我的输入......
解决方案
只需像这样重新排列您的代码:
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")
推荐阅读
- excel - 创建验证列表
- javascript - 使用此名称的控制器未注册
- python-3.x - TM-U220B escpos 支持更大的字体大小(Python3)
- zabbix - Zabbix 安装问题
- sql - 向 SQL Server 和 H2 / Liquibase 中的现有表添加带有标记主键的自动增量
- html - 在特定文本旁边居中的短水平线的 HTML 代码
- python-unittest - 如何在python3中模拟来自另一个模块的变量?
- python - 在多进程模式下将 Sanic 与 Prometheus 一起使用:FileNotFoundError
- python - 避免每次迭代都覆盖字典
- hashcode - 为动态字段生成哈希码(LINQ 可以识别)