Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 排除基于Django类的视图中的字段无效_Python_Django_Django Forms - Fatal编程技术网

Python 排除基于Django类的视图中的字段无效

Python 排除基于Django类的视图中的字段无效,python,django,django-forms,Python,Django,Django Forms,天啊,我觉得我已经尝试了这里的一切,但我就是不能让这个表单正确地渲染(例如,使用字段子集)。以下是相关项目(删除额外项目): models.py: class Response(models.Model): public = models.BooleanField(default=False) question = models.CharField(max_length=255, default='', blank=True) class ResponseForm(ModelF

天啊,我觉得我已经尝试了这里的一切,但我就是不能让这个表单正确地渲染(例如,使用字段子集)。以下是相关项目(删除额外项目):

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']
答复_form.html:

<form action="" method="post">{% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Create" />
</form>
{%csrf\u令牌%}
{{form.as_p}}
我已经阅读了每一篇文档,他们建议在元组或列表的排列中使用
排除
排除
字段
字段
,无论每次出现什么“public”字段!想法


谢谢你的帮助

看起来您需要在视图中指定
form\u class

class ResponseCreate(CreateView):
    model = Response
    form_class = ResponseForm

我想说的是,您并不需要单独创建模型表单

在使用模型时,通用视图确实非常出色。这些是通用的 视图将自动创建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']

您可以在课堂表单中使用
排除
字段:

class ResponseForm(ModelForm):
    class Meta:
        model = Response
        exclude = ['field_to_exclude']

class ResponseCreate(CreateView):
    model = Response
    form_class = ResponseForm

如果在表单中添加逗号,
fields=['question',]
,这会改变情况吗?@scottwodall这只会对元组类型而不是列表产生影响