zoukankan      html  css  js  c++  java
  • 前台通过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']

     注意:request_method和api_url对应前台的name属性值

    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>
  • 相关阅读:
    YYHS-吴传之火烧连营(梦回三国系列T3)(trie树)
    YYHS-蜀传之单刀赴会(梦回三国系列T2)(最短路+状压dp)
    YYHS-魏传之长坂逆袭(梦回三国系列T1)
    BZOJ-2330-[SCOI2011]糖果(差分约束)
    BZOJ-1864-[Zjoi2006]三色二叉树(树形dp)
    YYHS-分数(二分+容斥)
    YYHS-猜数字(并查集/线段树维护)
    BZOJ-1225-[HNOI2001] 求正整数
    NOIP2014-飞扬的小鸟(DP)
    欧几里得距离、曼哈顿距离和切比雪夫距离
  • 原文地址:https://www.cnblogs.com/gcgc/p/10151631.html
Copyright © 2011-2022 走看看