0
在同一views.py,如果我有2「DEF」,如何可以通過數據輸入結果在第一DEF到用於濾波的第二DEF數據庫?django- 2個DEF在同一views.py如何傳遞數據
拿一個例子:
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'),
在上面的代碼中,查詢集= Result.filter(NAME =名稱,...),在這裏不能得到來自「def input」的表單數據。非常感謝您的幫助,謝謝。
感謝@EchoUA隊。如果我想在提交表單後保留重定向功能。我如何將重定向('result')與您放置的返回超級(ResultView,self).get_queryset()結合起來? –
如果你想重定向與驗證表格後的參數「年齡」和「名」來,您就可以使用此方案https://gist.github.com/anonymous/52918ccb37bc18d03e63 – EchoUA
只需更換'{{DupontView.total_asset}}'在'{{result.total_asset}}'和''上{{DupontView.sales}}'{{result.sales}}' – EchoUA