在企業(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)—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.15014759268.cn'
}
print(type(data))
# 打印,確定數(shù)據(jù)類型是字典
json_str = json.dumps(data)
# 使用dumps將字典類型轉換為字符串,這樣才能通過http協(xié)議返回
# json在傳輸時是以字符串進行傳輸?shù)? return json_str # 使用flask,可以直接用return返回這個字符串,即可將json返回
if __name__ == '__main__':
app.run() # 運行這個flask項目
客戶端處理
客戶端與之前文章中的大體一致,只不過將請求的鏈接轉換成了我們的后端服務器鏈接。同時用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方法,可以將這個字符串轉化為字典
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編程獅。