前台通过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处理后返回给前台的主要内容,如果未能解决你的问题,请参考以下文章

如何通过submit提交form表单获取后台传来的返回值

前台到后台传输Date类型的问题,Stirng转Date

easyui怎么将前台表单数据传递给后台

前后台交互实例二:前台通过django在数据库里面增删改查数据

Django Form 表单(上)

form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决