【发布时间】:2010-01-22 18:56:43
【问题描述】:
我有这个视图功能:
def search(request):
if request.method == 'GET':
form = SearchForm(request.GET)
if form.is_valid():
last_name = form.cleaned_data['last_name']
first_name = form.cleaned_data['first_name']
lawyers = Lawyer.objects.all()
[ other if statements ]
....
else:
form = SearchForm()
return render_to_response('search.html', {'form': form})
我认为当页面加载时,else 语句将使用初始空白表单执行。但这种情况并非如此。要让表单最初显示,我必须将其添加到第一个 if:
def search(request):
if request.method == 'GET':
form = SearchForm(request.GET)
if form.is_valid():
last_name = form.cleaned_data['last_name']
first_name = form.cleaned_data['first_name']
lawyers = Lawyer.objects.all()
[ other if statements ]
....
form = SearchForm()
return render_to_response('search.html', {'form': form})
else:
form = SearchForm()
return render_to_response('search.html', {'form': form})
你能解释一下为什么第一个if 永远不会是假的吗?谢谢。
整个视图函数为here
【问题讨论】:
标签: python django-forms