Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
Django未清理某些表单字段_Django_Python 2.7_Django Forms - Fatal编程技术网

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())