Django未清理某些表单字段
因此,我的表格如下:Django未清理某些表单字段,django,python-2.7,django-forms,Django,Python 2.7,Django Forms,因此,我的表格如下: class Uploaded_Cisco_YML_Configs(forms.Form): uploaded_configs = forms.FileField() goto_model = forms.TextInput() interfaces_migrate = forms.Textarea() 我遇到的问题是goto_模型和interfaces_migrate表单字段是在form.data字典中定义的,但是它们不在form.cleaned_
class Uploaded_Cisco_YML_Configs(forms.Form):
uploaded_configs = forms.FileField()
goto_model = forms.TextInput()
interfaces_migrate = forms.Textarea()
我遇到的问题是goto_模型和interfaces_migrate表单字段是在form.data字典中定义的,但是它们不在form.cleaned_数据中,因此我无法正确访问它们。有什么原因会发生这种情况吗
下面是HTML
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input id="uploaded_configs" name="uploaded_configs" type="file" multiple/>
<br>
New Model:<br>
<input type="text" name="goto_model">
<br>Interfaces to Migrate:
<br>
<input type="text" name="interfaces_migrate">
<input type="submit" value="Run Script"/>
</form>
TextInput和Textarea不是表单字段,它们是小部件。如果需要,您需要定义一个字段,然后设置小部件参数
class Uploaded_Cisco_YML_Configs(forms.Form):
uploaded_configs = forms.FileField()
goto_model = forms.CharField()
interfaces_migrate = forms.CharField(widget=forms.Textarea())
(您不需要为goto_model
设置小部件,因为TextInput是CharField的默认值。)
请注意,如果form.goto_model不是None,则将永远不会为false,因为它引用的是字段定义,而不是值;您需要访问表单。已清理的\u数据['goto\u model']
,但即使这样也没有意义,因为该字段是必需的,因此表单如果为空将无效
class Uploaded_Cisco_YML_Configs(forms.Form):
uploaded_configs = forms.FileField()
goto_model = forms.CharField()
interfaces_migrate = forms.CharField(widget=forms.Textarea())