我有一个表单,在输入信息后,根据信息过滤数据库并进行一些计算,最后将结果显示给重定向的URL.
我确实可以重定向到另一个URL并成功显示结果.但问题在于它无法显示用户提交的任何数据,只显示每个字段的内容,结果不是基于fitered queryset.让我们说总和,它只是总结数据库中的所有列,而不使用过滤结果.
我怀疑查询集没有将过滤后的结果传递给def get_context_data,因此get_context_data中的查询集不起作用.
如果你解开我的疑问,真的非常感谢你.
(我根据建议合并了2个类的EDIT版本,希望有人能纠正这个EDIT版本,谢谢)
urls.py
url(r'^result_list/$',ResultView.as_view(),name='result'),
url(r'^input/$',InputFormView.as_view(),name='input'),
Run Code Online (Sandbox Code Playgroud)
views.py
class InputFormView(request):
#class InputFormView(FormView):
template_name = 'inputform.html'
form_class = InputForm
response = HttpResponse( 'result' )
request_form_data = request.POST #you need to sanitize/clear this data
response.set_cookie('form_data', request_form_data)
#redirect to result page with submitted form information
def get_success_url(self):
return ''.join(
[
reverse('result'),
'?company=',self.request.POST.get('company'), <--do I need to change "POST" into "USER"?
'®ion=',self.request.POST.get('region')
]
)
#class ResultView(ListView):
class ResultView(request):
context_object_name = 'result_list'
template_name = 'result_list.html'
model = Result
def get_context_data(self, **kwargs):
context …Run Code Online (Sandbox Code Playgroud)