前台通过form表单向Django后台传输数据,Django处理后返回给前台
Posted gcgc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前台通过form表单向Django后台传输数据,Django处理后返回给前台相关的知识,希望对你有一定的参考价值。
摘要:Django前后台数据传递
通过action将数据传输给apitest这个地址,使用get方法传递,此处需要传递name="request_method"的下拉列表值和name="api_url"的输入框的值,
注意这里用name属性,向Django后台传递时需要用name的值作为键取对应的值
<!-- 这里的action的值一定要/开头,否则报错 --> <form action="/apitest" method="get"> {# <label class="qwew">请求方法:</label>#} <div class="api-form" align="center" > <select class="api-method" name="request_method" > <option>GET</option> <option>POST</option>response </select> <input id="url-input" name="api_url" class="form-control" type="text" placeholder="输入接口完整地址" value=""/> <input id="send-button" type="submit" value="发送请求" /> </div> </form>
这个地址在路由中又对应了apitest这个视图去处理数据,这两处名称一样仅仅是巧合
urlpatterns = [ url(r‘^admin/‘, admin.site.urls), url(r‘^index/‘, views.index), url(r‘^404/‘, views.notfound), url(r‘^form_builder/‘, views.form_builder), url(r‘^base/‘, views.base), url(r‘^layouts/‘, views.layouts), url(r‘^showcase/‘, views.showcase), url(r‘^API_MASTER/‘, views.API_MASTER), url(r‘^apitest/‘, views.apitest), ]
然后看视图函数怎么接收数据
get方法:
request_method = request.GET[‘request_method‘] api_url = request.GET[‘api_url‘]
post方法:
request_method = request.POST[‘request_method‘]
api_url = request.POST[‘api_url‘]
def apitest(request): request_method = request.GET[‘request_method‘] api_url = request.GET[‘api_url‘] print request_method print api_url r = requests.get(api_url) print r.content return render(request, ‘showcase/API_MASTER.html‘,{‘response‘: r.content})
处理完成后需要将数据{‘response‘: r.content}传递到前台
使用 {{变量}} 方式获取数据
<textarea id="response-body">{{ response }}</textarea>
以上是关于前台通过form表单向Django后台传输数据,Django处理后返回给前台的主要内容,如果未能解决你的问题,请参考以下文章