前台通過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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM