无法在django中使用CreateView.as_view

时间:2017-05-06 10:23:19

标签: django django-forms django-views

我是Django的新手,并试图使用CBV为我的'Project'模型生成一个表单。当我在 urls.py 中使用 CreateView.as_view(...)时,会出现以下错误。

Exception Type:     ImproperlyConfigured
Exception Value:    Using ModelFormMixin (base class of CreateView) without the 'fields' attribute is prohibited.

我列出了与此视图相关的完整代码。

urls.py

url(r'^create-project/$', CreateView.as_view(model=Project,
                                             template_name='en/public/create_project.html',
                                             success_url='index'),
                                             name='create_project')

create_project.py

class Form_project_create(forms.Form):
    class Meta:
        model = Project
        fields = '__all__'

我无法确定此代码中的错误。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您尚未告知CreateView使用该表单。

url(r'^create-project/$', CreateView.as_view(form=Form_project_create, ...

另请注意,表单本身需要从forms.ModelForm继承,而不是forms.Form

答案 1 :(得分:0)

Form_project_create应该继承forms.ModelForm,而不是forms.Form

const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { window } = new JSDOM(`<!DOCTYPE html>`);
const $ = require('jQuery')(window);

$('<h1>Hello</h1>').appendTo('body');
console.log($('h1').text());