所以我有一个非常简单的博客应用程序,并且我试图弄清为什么在表单中输入的数据没有保存到数据库,并且没有将我重定向到索引页面。
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>
答案 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)
它将自动保存