Django 2.0 Form未将数据保存到数据库

时间:2018-08-01 22:28:20

标签: python django forms

所以我有一个非常简单的博客应用程序,并且我试图弄清为什么在表单中输入的数据没有保存到数据库,并且没有将我重定向到索引页面。

forms.py

<t:Message>
  <t:ItemClass>IPM.Note</t:ItemClass>
  <t:Subject>subject</t:Subject>
  <t:Body BodyType="HTML">body</t:Body>
  <t:IsRead>false</t:IsRead>
  <t:ExtendedProperty> 
    <t:ExtendedFieldURI PropertyTag="3591" PropertyType="Integer" /> 
    <t:Value>1</t:Value> 
  </t:ExtendedProperty>
</t:Message>

new_blog.html

from django import forms

class NewBlog(forms.Form):
  blogger = forms.CharField(max_length=20, widget=forms.TextInput(attrs=  
  {'placeholder' : 'Name'}))
  text = forms.CharField(widget=forms.Textarea(attrs={'placeholder' : 
  'Text'}))

views.py

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>New Blog</title>
</head>
<body>
   <form action="{% url 'new_blog' %}" method="POST">
   {% csrf_token %}
   <h2>Write your blog here:</h2>
   {{ form }}
   <br>
   <input type="submit" value="Submit">
</form>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

我认为问题可能出在您的观点的第一行。

if request == 'POST':

应为:

if request.method == 'POST':

答案 1 :(得分:0)

将对象保存到数据库中 代替

new_blog = BlogPost(blogger = blogger, text = text)
new_blog.save()

使用最佳方式:

BlogPost.objects.create(blogger = blogger, text = text)

它将自动保存