在Django中发送任意请求数据

时间:2015-01-07 01:44:18

标签: python django

虽然不是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} )

2 个答案:

答案 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} )
相关问题