基本框架:
- CreateView继承之一BaseCreateView
- BaseCreateView中有两个函数 get()、post()
- BaseCreateView继承之一ModelFormMixin
- ModelFormMixin继承之一FormMixin
- FormMixin中有函数get_success_url() form_valid() form_invalid()等
- FormMixn继承之一ContextMixin
- ContextMixin中有函数 get_context_data()
需求:
- 前端提交一个form表单
- 后端接受一个这个表单,继承CreateView,把提交过来的字段,存入相应的数据库
流程:
class Aa(Createview):
# 渲染模板
template_name = 'dictionary/some.html'
# 要存入的model
model = Amodel
# 数据库相应的字段
fields = ['name']
def get_context_data(self, **kwargs):
第一次进入页面可以返回给前端一些想要展示的信息
def post(self, request, *args, **kwargs):提交表单后进入这个函数,可以做一些转换,把传过来的字段,转化成相应的数据库字段,字段名称和field一致,执行完这个函数后,会进行字段验证
def form_valid(self, form):字段验证成功后会执行这个函数,执行完成后会把字段存入数据库def form_invalid(self, form):字段验证失败后会执行这个函数
def get_success_url(self):执行form_valid()后会执行这个函数 可以return reverse 一个url 进入表单提交成功的页面