虽然不是Python的noobie,但我是Django。我已经开始构建一个应用程序,它从表单中获取信息并通过REST查询网络设备。我从表单中获取数据就好了。数据将传递到我视图中定义的适当模块Device_build_test。当该模块获取所请求的数据时,如何将其插入模板qa_results.html?我对表单的看法如下: def device_qa_build(request):
if request.method == 'POST':
form = Device_qa_Form(request.POST )
if form.is_valid():
cd = form.cleaned_data
Device_build_test.set_up(
cd
)
return HttpResponseRedirect('/qa_results.html/')
else:
form = Device_qa_Form()
return render_to_response('device_qa_build_form.html', {'form':form} )
答案 0 :(得分:1)
您需要使用函数render_to_response
,就像您在代码中对device_qa_build_form.html
所做的那样。
您必须修改qa_results.html
,为其提供名为form
的变量,然后使用render_to_response
。像这样:
if request.method == 'POST':
form = Device_qa_Form(request.POST )
if form.is_valid():
cd = form.cleaned_data
Device_build_test.set_up(
cd
)
# return HttpResponseRedirect('/qa_results.html/')
return render_to_response('/qa_results.html/', {'form':form})
else:
form = Device_qa_Form()
return render_to_response('device_qa_build_form.html', {'form':form} )
以下是render_to_response的说明。 https://docs.djangoproject.com/en/1.7/topics/http/shortcuts/
答案 1 :(得分:0)
我让它以这种方式工作......获取返回的数据并创建发送它的上下文。如果有人认为这是一个坏主意,请告诉我。
if request.method == 'POST':
form = Device_qa_Form(request.POST )
if form.is_valid():
cd = form.cleaned_data
results = Device_build_test.set_up(
cd
)
t = loader.get_template('qa_results.html')
c = Context({'results':results})
return HttpResponse( t.render(c))
else:
form = Device_qa_Form()
return render_to_response('device_qa_build_form.html', {'form':form} )