【发布时间】:2016-01-18 20:40:38
【问题描述】:
在同一个views.py中,如果我有2个“def”,如何将第一个def中的数据输入结果传递给第二个def以过滤数据库?
举个例子:
def input(request):
if request.method == 'POST':
form = InputForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
age = form.cleaned_data['age']
return redirect('result')
else:
print form.errors
else:
form=InputForm()
return render_to_response('inputform.html',{'form': form},context_instance=RequestContext(request))
class ResultView():
context_object_name = 'result_list'
template_name = 'result_list.html'
# Here how can I get the form entry (name/age)from above def to filter the result?
queryset=Result.filter(name=name,age=age)
scor=Result.objects.filter(queryset)
subject.Result.objects.filter(queryset)
def get_context_data(self, **kwargs):
context = super(ResultView, self).get_context_data(**kwargs)
return context
网址
url(r'^result_list/$',ResultView.as_view(),name='result'),
url(r'^input', 'result.views.input',name='input'),
在上面的代码中,queryset=Result.filter(name=name,...),这里无法从“def input”获取表单数据。非常感谢您的帮助,谢谢。
【问题讨论】: