Django:从表单实例一个字段
Django: instance one field from form
我有一个表单(一个普通表单,不是 ModelForm),我需要它的一个字段来加载初始化。
我需要做这样的事情:
views.py
def my_view(request):
my_var = MyClass.objects.get(my_filter=my_value).a_var
form = MyForm(my_form_field = my_var)
我需要初始化 MapeoForm
的字段之一的值。到目前为止,我只知道如何使用 class 对象实例填充 ModelForm。
考虑到此表单有多个字段,但我需要加载仅填充此字段的表单,其余字段默认(空白)。
您需要 initial
参数。
form = MyForm(initial={'my_form_field': my_var})
您可以使用 initial 将动态值加载到 django 表单。
In [6]: from django import forms
...: class SampleForm(forms.Form):
...: name = forms.CharField()
...:
...: f = SampleForm(initial={'name': 'this is name'})
...: print(f)
...:
...:
<tr><th><label for="id_name">Name:</label></th><td><input type="text" name="name" value="this is name" required id="id_name" /></td></tr>
In [7]:
您也可以将默认初始值传递给字段本身,
In [7]: from django import forms
...: class SampleForm(forms.Form):
...: name = forms.CharField(initial='this is default name')
...:
...: f = SampleForm()
...: print(f)
...:
...:
...:
<tr><th><label for="id_name">Name:</label></th><td><input type="text" name="name" value="this is default name" required id="id_name" /></td></tr>
In [8]:
我有一个表单(一个普通表单,不是 ModelForm),我需要它的一个字段来加载初始化。
我需要做这样的事情:
views.py
def my_view(request):
my_var = MyClass.objects.get(my_filter=my_value).a_var
form = MyForm(my_form_field = my_var)
我需要初始化 MapeoForm
的字段之一的值。到目前为止,我只知道如何使用 class 对象实例填充 ModelForm。
考虑到此表单有多个字段,但我需要加载仅填充此字段的表单,其余字段默认(空白)。
您需要 initial
参数。
form = MyForm(initial={'my_form_field': my_var})
您可以使用 initial 将动态值加载到 django 表单。
In [6]: from django import forms
...: class SampleForm(forms.Form):
...: name = forms.CharField()
...:
...: f = SampleForm(initial={'name': 'this is name'})
...: print(f)
...:
...:
<tr><th><label for="id_name">Name:</label></th><td><input type="text" name="name" value="this is name" required id="id_name" /></td></tr>
In [7]:
您也可以将默认初始值传递给字段本身,
In [7]: from django import forms
...: class SampleForm(forms.Form):
...: name = forms.CharField(initial='this is default name')
...:
...: f = SampleForm()
...: print(f)
...:
...:
...:
<tr><th><label for="id_name">Name:</label></th><td><input type="text" name="name" value="this is default name" required id="id_name" /></td></tr>
In [8]: