App下載

前后端對接——python后端和python客戶端打通

猿友 2021-06-21 11:41:02 瀏覽數(shù) (7333)
反饋

在企業(yè)開發(fā)中采用前后端分離的方式進行開發(fā),而前后端開發(fā)完成后需要進行連通性測試,測試前后端能否正常地使用json進行數(shù)據(jù)交互。而作為獨立開發(fā)者來說(比如廣大計算機專業(yè)學生必須經(jīng)歷的畢業(yè)設計),連通性測試一般會放在剛開始開發(fā)的時候。比如先搭建一個helloworld頁面,然后測試前后端是否能正常進行數(shù)據(jù)的交互,在能數(shù)據(jù)交互的情況下再進行增量開發(fā)。今天小編帶來的就是一篇關于python后端和前端怎么對接的教程。不過,這篇的前端是使用python編寫的客戶端,接下來就跟小編一起來了解一下怎么進行python的前后端數(shù)據(jù)交互吧。

閱前須知

本篇文章需要有如下兩篇文章的技術支持,如果沒有閱讀過這兩篇文章,建議先進行這兩篇文章的學習。

python json實戰(zhàn)—如何解析json

python json實戰(zhàn)—web后端如何發(fā)送json

后端處理

后端在之前的文章中已經(jīng)有所介紹,本處不多做改變,只對json進行了一定的規(guī)范。

from flask import Flask
import json

app = Flask(__name__)


@app.route('/hello')  # 規(guī)定url,當請求的url為/hello時執(zhí)行注解下的函數(shù)
def hello_world():
    # 在python中,與json對應的數(shù)據(jù)格式是字典,所以我們這邊創(chuàng)建一個字典用來存儲數(shù)據(jù)與返回
    data = {
        'status': '200',
        'message': 'ok',
        'no': '1',
        'name': 'W3CSchool',
        'url': 'http://www.o2fo.com'
    }
    print(type(data))
    # 打印,確定數(shù)據(jù)類型是字典
    json_str = json.dumps(data)
    # 使用dumps將字典類型轉(zhuǎn)換為字符串,這樣才能通過http協(xié)議返回
    # json在傳輸時是以字符串進行傳輸?shù)?    return json_str  # 使用flask,可以直接用return返回這個字符串,即可將json返回


if __name__ == '__main__':
    app.run() # 運行這個flask項目

客戶端處理

客戶端與之前文章中的大體一致,只不過將請求的鏈接轉(zhuǎn)換成了我們的后端服務器鏈接。同時用python對返回的數(shù)據(jù)進行了簡單的處理并展示。

import requests
import json

response = requests.get('http://127.0.0.1:5000/hello')
# 使用request請求一個json
response = response.text
# 使用requests的的text方法取出響應的文本
dict = json.loads(response)
# 使用JSON模塊的loads方法,可以將這個字符串轉(zhuǎn)化為字典
print(dict)
#打印這個字典
print(type(dict))
#確認是否為字典類型

#以下是字典操作方法,將字典的數(shù)據(jù)取出并打印
print('響應狀態(tài):'+dict.get('status'))
print('返回信息:'+dict.get('message'))
print('編號:'+dict.get('no'))
print('網(wǎng)站名稱:'+dict.get('name'))
print('網(wǎng)站url:'+dict.get('url'))

運行結果

運行結果

小結

以上就是python后端和前端怎么對接的全部內(nèi)容。對于敏捷編程而言,每次進行增量開發(fā)后,都要進行連通性測試,而最開始的項目就建立在一個成功打通前后端的項目上,所以掌握前后端交互的方法是至關重要的。

更多python教程,關注W3C的python編程獅。


0 人點贊