App下載

前后端對(duì)接——python后端和python客戶(hù)端打通

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

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

閱前須知

本篇文章需要有如下兩篇文章的技術(shù)支持,如果沒(méi)有閱讀過(guò)這兩篇文章,建議先進(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://hgci.cn'
    }
    print(type(data))
    # 打印,確定數(shù)據(jù)類(lèi)型是字典
    json_str = json.dumps(data)
    # 使用dumps將字典類(lèi)型轉(zhuǎn)換為字符串,這樣才能通過(guò)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)目

客戶(hù)端處理

客戶(hù)端與之前文章中的大體一致,只不過(guò)將請(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)是否為字典類(lèi)型

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

運(yùn)行結(jié)果

運(yùn)行結(jié)果

小結(jié)

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

更多python教程,關(guān)注W3C的python編程獅。


0 人點(diǎn)贊