ListView
get_template_name方法



此图中可以看到在含有model属性的情况下,template_name的默认名称的由来

template中的TemplateResponseMixin对应的get_template_names
FormView
get_form方法



formmixin中的get_form方法:返回该view中使用的一个表单实例。

formMixin中属性form_class

如何渲染
从FormView–>BaseFormView–>ProcessFormView

ModelFormMixin中的form_valid
保存数据,然后调用父类的form_valid跳转到父类的

FormMixin中的form_valid, 而FormView,用到的是FormMixin,所以没有保存的操作

FormMixin的get_context_data

插入“form“到上下文字典中
CreateView
该视图父类中含有ModelFormMixin,所以其form_valid含有保存数据的内容


本文介绍了Django中的ListView、FormView和CreateView的继承关系及关键方法,如ListView的get_template_name,FormView的get_form方法,以及ModelFormMixin在CreateView中如何处理表单数据和保存操作。
947





