在企業(yè)開發(fā)中采用前后端分離的方式進(jìn)行開發(fā),而前后端開發(fā)完成后需要進(jìn)行連通性測(cè)試,測(cè)試前后端能否正常地使用json進(jìn)行數(shù)據(jù)交互。而作為獨(dú)立開發(fā)者來(lái)說(比如廣大計(jì)算機(jī)專業(yè)學(xué)生必須經(jīng)歷的畢業(yè)設(shè)計(jì)),連通性測(cè)試一般會(huì)放在剛開始開發(fā)的時(shí)候。比如先搭建一個(gè)helloworld頁(yè)面,然后測(cè)試前后端是否能正常進(jìn)行數(shù)據(jù)的交互,在能數(shù)據(jù)交互的情況下再進(jìn)行增量開發(fā)。今天小編帶來(lái)的就是一篇關(guān)于python后端和前端怎么對(duì)接的教程。不過,這篇的前端是使用python編寫的客戶端,接下來(lái)就跟小編一起來(lái)了解一下怎么進(jìn)行python的前后端數(shù)據(jù)交互吧。
閱前須知
本篇文章需要有如下兩篇文章的技術(shù)支持,如果沒有閱讀過這兩篇文章,建議先進(jìn)行這兩篇文章的學(xué)習(xí)。
python json實(shí)戰(zhàn)—如何解析json
python json實(shí)戰(zhàn)—web后端如何發(fā)送json
后端處理
后端在之前的文章中已經(jīng)有所介紹,本處不多做改變,只對(duì)json進(jìn)行了一定的規(guī)范。
from flask import Flask
import json
app = Flask(__name__)
@app.route('/hello') # 規(guī)定url,當(dāng)請(qǐng)求的url為/hello時(shí)執(zhí)行注解下的函數(shù)
def hello_world():
# 在python中,與json對(duì)應(yīng)的數(shù)據(jù)格式是字典,所以我們這邊創(chuàng)建一個(gè)字典用來(lái)存儲(chǔ)數(shù)據(jù)與返回
data = {
'status': '200',
'message': 'ok',
'no': '1',
'name': 'W3CSchool',
'url': 'http://m.hgci.cn'
}
print(type(data))
# 打印,確定數(shù)據(jù)類型是字典
json_str = json.dumps(data)
# 使用dumps將字典類型轉(zhuǎn)換為字符串,這樣才能通過http協(xié)議返回
# json在傳輸時(shí)是以字符串進(jìn)行傳輸?shù)? return json_str # 使用flask,可以直接用return返回這個(gè)字符串,即可將json返回
if __name__ == '__main__':
app.run() # 運(yùn)行這個(gè)flask項(xiàng)目
客戶端處理
客戶端與之前文章中的大體一致,只不過將請(qǐng)求的鏈接轉(zhuǎn)換成了我們的后端服務(wù)器鏈接。同時(shí)用python對(duì)返回的數(shù)據(jù)進(jìn)行了簡(jiǎn)單的處理并展示。
import requests
import json
response = requests.get('http://127.0.0.1:5000/hello')
# 使用request請(qǐng)求一個(gè)json
response = response.text
# 使用requests的的text方法取出響應(yīng)的文本
dict = json.loads(response)
# 使用JSON模塊的loads方法,可以將這個(gè)字符串轉(zhuǎn)化為字典
print(dict)
#打印這個(gè)字典
print(type(dict))
#確認(rèn)是否為字典類型
#以下是字典操作方法,將字典的數(shù)據(jù)取出并打印
print('響應(yīng)狀態(tài):'+dict.get('status'))
print('返回信息:'+dict.get('message'))
print('編號(hào):'+dict.get('no'))
print('網(wǎng)站名稱:'+dict.get('name'))
print('網(wǎng)站url:'+dict.get('url'))
運(yùn)行結(jié)果
小結(jié)
以上就是python后端和前端怎么對(duì)接的全部?jī)?nèi)容。對(duì)于敏捷編程而言,每次進(jìn)行增量開發(fā)后,都要進(jìn)行連通性測(cè)試,而最開始的項(xiàng)目就建立在一個(gè)成功打通前后端的項(xiàng)目上,所以掌握前后端交互的方法是至關(guān)重要的。
更多python教程,關(guān)注W3C的python編程獅。