Python Django,模型表单未在数据库中保存数据
我是django的新手,我创建了一个表单将数据保存到我的数据库中,但它不能正常工作,我没有收到任何错误,但数据没有发送到数据库中。谢谢你的帮助 views.pyPython Django,模型表单未在数据库中保存数据,python,django,Python,Django,我是django的新手,我创建了一个表单将数据保存到我的数据库中,但它不能正常工作,我没有收到任何错误,但数据没有发送到数据库中。谢谢你的帮助 views.py @login_required() def data(request): if request.POST == "POST": form = CreatePost(request.POST) if form.is_valid(): form.instance.author
@login_required()
def data(request):
if request.POST == "POST":
form = CreatePost(request.POST)
if form.is_valid():
form.instance.author = request.user
form.save()
return redirect(data)
else:
form = CreatePost()
context = {
"form": form
}
return render(request, "sms/data.html", context)
forms.py
class CreatePost(forms.ModelForm):
class Meta:
model = Post
fields = ["title", "content"]
models.py
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
author = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
data.html
<form method="POST">
{% csrf_token %}
{{ form|crispy }}
<pre></pre>
<button class="btn btn-outline-info" type="submit" value="Submit">Data</button>
</form>
像这样试试
if request.POST == "POST":
应改为:
你确定你的表格有效吗?您是否在模板中显示{form.errors}},以便查看是否有错误?啊:if request.POST==POST始终为false。很可能是你简单的打字错误导致了你的问题。如果我在模板中写{{form.errors},我的表单不会显示在我的页面上,我用我的模板更新了我的帖子。如果请求,你是否更改了行。帖子?????Florin的答案是第一位的,并且是正确的。他已经提到要修复request.POST到request.method。你应该记下他的答案是正确的,而不是另一个。
if request.POST == "POST":
if request.method == 'POST':