form类的文件forms.py:
#从 django 导入需要的form类的命名空间:forms
from django import forms
#从自己的应用导入所有模型models
from mysite import models
#创建一个自定义的PostForm类
class PostForm(forms.ModelForm):
# 定义 ModelForm 的元数据
class Meta:
model = models.Post
fields = ['title', 'updatetime', 'content']
def __init__(self, *args, **kwargs):
super(PostForm, self).__init__(*args, **kwargs)
self.fields['title'].label = '文章标题'
self.fields['updatetime'].label = '更新时间'
self.fields['content'].label = '正文'
view 文件 views.py:
from mysite import forms
def post(request):
if request.method == 'POST':
post_form = forms.PostForm(request.POST)
if post_form.is_valie():
message = '信息保存成功!'
post_form.save()
else:
message = '信息保存失败!'
else:
post_form = forms.PostForm()
message = '每个空都是必填项'
return render(request, 'post.html', locals())
模板文件post.html:
<!-- post.html -->
{% extends "base.html" %}
{% block title %} 这里是标题 {% endblock %}
{% block content %}
<div class="container">
{% if message %}
<div class='alert alert-waring'>{{ message }}</div>
{% endif %}
<form name="post_form" action=".' methond="post">
{% csrf_token %}
<table>
{{ post_form.as_table }}
</table>
<input type="submit" value="提交">
<input type='reset' value="重置">
</form>
</div>
{% endblock %}