男孩,感觉就像我在这里尝试过一切,而我却无法正确地呈现这种形式(例如,使用一部分字段)。这是相关项目(删除了额外的项目):
models.py:
class Response(models.Model):
public = models.BooleanField(default=False)
question = models.CharField(max_length=255, default='', blank=True)
class ResponseForm(ModelForm):
class Meta:
model = Response
fields = ['question']
views.py:
class ResponseCreate(CreateView):
model = Response
fields = ['question']
response_form.html:
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Create" />
</form>
我已经阅读了所有文档,他们建议在元组或列表的排列中使用exclude
,excludes
,field
,fields
,无论公共&#34;公共&#34;字段似乎每次都出现 !想法?
感谢您的帮助!
答案 0 :(得分:9)
您似乎需要在视图中指定form_class
:
class ResponseCreate(CreateView):
model = Response
form_class = ResponseForm
答案 1 :(得分:0)
我想提一下,你真的不需要单独创建一个ModelForm。
使用模型时,通用视图真的很闪耀。这些通用 视图将自动创建aModelForm,只要它们可以工作 使用哪个模型类
你可以使用它。
class Response(models.Model):
public = models.BooleanField(default=False)
question = models.CharField(max_length=255, default='', blank=True)
class ResponseCreate(CreateView):
model = Response
fields = ['question']
答案 2 :(得分:0)
您可以在课程表格中使用exclude
字段:
class ResponseForm(ModelForm):
class Meta:
model = Response
exclude = ['field_to_exclude']
class ResponseCreate(CreateView):
model = Response
form_class = ResponseForm