gpt4 book ai didi

django - django request.POST到底做了什么以及如何使用它?

转载 作者:行者123 更新时间:2023-12-04 08:25:26 25 4
gpt4 key购买 nike

我开始学习django,并开始观看有关如何创建表单的教程,并且我已经看到了很多这样创建表单的地方。

def create(request):
if request.POST:
form = ArticleForm(request.POST)
if form.is_valid:
form.save()
else:
form = ArticleForm()
args = {}
args.update(csrf(request))
args['form'] = form
return render_to_response('create_article.html', args)


现在,假设我创建了一个名为Article的模型,然后从该模型创建了ArticleForm,那么这里到底发生了什么(在我上面提供的代码中)?我了解if form.is_valid:form.save()部分,根据我读到的内容,请求应该始终是第一个参数,但是有人可以解释什么是参数请求以及函数的前两行是什么在干嘛在else语句中以及else语句之后(args部分)到底发生了什么?

编辑:另外,假设Article模型有一个名为name = models.CharField(max_length = 20)的字段,是否有一种方法让我获取/访问用户为表单的该特定部分输入的内容?假设我要获取名称,并查看该名称是否已存在于数据库中,是否可以使用该方法?

最佳答案

代码中有一些错误,似乎是从SO问题中复制粘贴的。我建议通过the excellent Django documentation,尤其是Django tutorial

您的示例应该看起来像this example from the Django docs

这里有一些评论:

def create(request):
if request.POST:
form = ArticleForm(request.POST)
if form.is_valid:
form.save()
# after successful POST
# we want to redirect to a different page here
else:
form = ArticleForm()
args = {}
# you really don't need the following necessarily
# just use `{% csrf_token %}` inside the form in your template
args.update(csrf(request))
args['form'] = form
# using just `render` like in the example linked to above is more modern
return render_to_response('create_article.html', args)

关于django - django request.POST到底做了什么以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17912604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com