形成:
class SearchJobForm(forms.Form):
query = forms.CharField()
types = forms.ModelChoiceField(queryset=JobType.objects.all(), widget=forms.CheckboxSelectMultiple())
Run Code Online (Sandbox Code Playgroud)
视图
def jobs_page(request):
if 'query' in request.GET:
form = SearchJobForm(request.GET)
else:
form = SearchJobForm()
variables = RequestContext(request, {
'form':form,
})
return render_to_response('jobs_page.html', variables)
Run Code Online (Sandbox Code Playgroud)
在我提交表单后,我尝试将其值恢复到表单中
form = SearchJobForm(request.GET)
Run Code Online (Sandbox Code Playgroud)
但它不起作用(某些领域消失).也许是因为ModelChoiceField.如何使用get方法使用其值填充表单?
看起来您正在尝试向用户显示预先填充的表单.为此,您需要将初始参数传递给表单:
SearchJobForm(initial=request.GET)
Run Code Online (Sandbox Code Playgroud)
表单对象应源自django.forms.Form
:
from django import forms
class SearchJobForm(forms.Form):
query = forms.CharField()
types = forms.ModelChoiceField()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5591 次 |
最近记录: |