【发布时间】:2015-01-28 12:19:42
【问题描述】:
我正在使用django.forms.ModelForm 和django.views.generic.CreateView 为我的模型创建创建视图。
我发现我最终得到了这个代码:
forms.py:
class ScenarioForm(forms.ModelForm):
class Meta:
model = Scenario
fields = ['scenario_name', 'description',
'scenario_file', 'preview']
views.py:
class ScenarioUpload(generic.CreateView):
model = Scenario
fields = ['scenario_name', 'description',
'scenario_file', 'preview']
form_class = ScenarioForm
这似乎是非常糟糕的重复。是不是我做错了什么,或者我可以通过什么方法来避免这种情况?
【问题讨论】:
-
一种方法是在
class OMeta之外定义一个类,其类属性为model和fields。然后(1)定义class ScenarioForm(forms.ModelForm): class Meta = OMeta和(2)class ScenarioUpload(generic.CreateView, OMeta):
标签: django django-forms django-class-based-views