{{item.content}}
摘要:讀取文件內(nèi)容并通過(guò)接口給前端使用常規(guī)的開(kāi)發(fā)是在服務(wù)器端根據(jù)動(dòng)態(tài)生成這里還是采取前后端分離思想,通過(guò)讀取文件數(shù)據(jù),通過(guò)接口給前端調(diào)用。之所以采取讀取文檔并返回給前端而不是其他語(yǔ)言主要是因?yàn)楸容^火熱,應(yīng)用面廣。
python讀取文件內(nèi)容并通過(guò)接口給前端使用
常規(guī)的python web開(kāi)發(fā)是在服務(wù)器端根據(jù)url動(dòng)態(tài)生成html
這里還是采取前后端分離思想,通過(guò)python讀取文件數(shù)據(jù),通過(guò)接口給前端調(diào)用。
注意事項(xiàng)
確保python版本為3.x
框架選型:
Django:全能型Web框架;
Flask:輕量實(shí)用的Web框架;
web.py:一個(gè)小巧的Web框架;
Bottle:和Flask類(lèi)似的Web框架;
Tornado:Facebook的開(kāi)源異步Web框架。
只是實(shí)現(xiàn)一個(gè)小工具實(shí)用Flask就好
安裝方式
pip install flask初衷和思路
博客的文章管理方式大體分兩種:靜態(tài)html、動(dòng)態(tài)加載。動(dòng)態(tài)加載文章一般通過(guò)數(shù)據(jù)庫(kù)存取,為了簡(jiǎn)化此過(guò)程,就想通過(guò)直接加載文件的方式。
markdown語(yǔ)法在寫(xiě)文章上很受開(kāi)發(fā)者青睞,因此直接加載md文件就比較便于維護(hù)。
現(xiàn)行方案中
github采用的后端加載方式,已有的一種前端直接加載md文件的方式是vue-markdown-loader
對(duì)此方式感興趣可以直接采用這種loader方式,以下內(nèi)容就可以忽略了。
之所以采取python讀取文檔并返回給前端而不是其他語(yǔ)言主要是因?yàn)閜ython比較火熱,應(yīng)用面廣。作為一枚小前端果斷選擇python來(lái)研究學(xué)習(xí),這個(gè)小項(xiàng)目也是用來(lái)練練手。
注:md文章放在項(xiàng)目./static下就好
1.注冊(cè)接口,綁定處理函數(shù)
2.接收前端傳遞的參數(shù)(文件名)
3.讀取文件,返回到前端
代碼如下:python代碼就是簡(jiǎn)潔
@app.route("/getdata/md", methods=["post"]) def ajax_test_add(): params = request.get_json() childPath = params.get("title") if(params.get("title") == None): print("未傳title字段!") return json.dumps({"resCode":"4001","msg":"參數(shù)錯(cuò)誤title為必傳"}) else: path = "./static" + childPath + ".md" try: f_name = open(path, "r", encoding="UTF-8").read() print(f_name) # 成功獲取到md文件內(nèi)容啦 return json.dumps({"content":f_name,"resCode":2000}) except OSError as reason: print("讀取文件出錯(cuò)了T_T") print("出錯(cuò)原因是%s" % str(reason)) return json.dumps({"err": str(reason),"resCode":5000})
問(wèn)題總結(jié)
跨域問(wèn)題
from flask_cors import CORS
CORS(app, resources=r"/*")
r"/*" 是通配符,讓本服務(wù)器所有的URL 都允許跨域請(qǐng)求
主機(jī)端口號(hào)設(shè)置
app.run(host = "0.0.0.0", port = 9001, debug = True)
前端代碼{{item.title}}
{{item.content}}
在點(diǎn)擊文章標(biāo)題是,獲取data-id屬性的值,該值即為傳給后端的文件名。
前端調(diào)用的接口地址:http://hostname:9001/getdata/md
請(qǐng)求方式:POST
必傳參數(shù):{"title": 文章名(不用加后綴)},該文章要放在python項(xiàng)目的./static目錄下
源碼:https://github.com/idongchen/docs/blob/master/example/getfile.py
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96686.html
摘要:讀取文件內(nèi)容并通過(guò)接口給前端使用常規(guī)的開(kāi)發(fā)是在服務(wù)器端根據(jù)動(dòng)態(tài)生成這里還是采取前后端分離思想,通過(guò)讀取文件數(shù)據(jù),通過(guò)接口給前端調(diào)用。之所以采取讀取文檔并返回給前端而不是其他語(yǔ)言主要是因?yàn)楸容^火熱,應(yīng)用面廣。 python讀取文件內(nèi)容并通過(guò)接口給前端使用 常規(guī)的python web開(kāi)發(fā)是在服務(wù)器端根據(jù)url動(dòng)態(tài)生成html這里還是采取前后端分離思想,通過(guò)python讀取文件數(shù)據(jù),通過(guò)接口...
摘要:讀取文件內(nèi)容并通過(guò)接口給前端使用常規(guī)的開(kāi)發(fā)是在服務(wù)器端根據(jù)動(dòng)態(tài)生成這里還是采取前后端分離思想,通過(guò)讀取文件數(shù)據(jù),通過(guò)接口給前端調(diào)用。之所以采取讀取文檔并返回給前端而不是其他語(yǔ)言主要是因?yàn)楸容^火熱,應(yīng)用面廣。 python讀取文件內(nèi)容并通過(guò)接口給前端使用 常規(guī)的python web開(kāi)發(fā)是在服務(wù)器端根據(jù)url動(dòng)態(tài)生成html這里還是采取前后端分離思想,通過(guò)python讀取文件數(shù)據(jù),通過(guò)接口...
摘要:圖意淫爬蟲(chóng)與反爬蟲(chóng)間的對(duì)決數(shù)據(jù)的重要性如今已然是大數(shù)據(jù)時(shí)代,數(shù)據(jù)正在驅(qū)動(dòng)著業(yè)務(wù)開(kāi)發(fā),驅(qū)動(dòng)著運(yùn)營(yíng)手段,有了數(shù)據(jù)的支撐可以對(duì)用戶進(jìn)行用戶畫(huà)像,個(gè)性化定制,數(shù)據(jù)可以指明方案設(shè)計(jì)和決策優(yōu)化方向,所以互聯(lián)網(wǎng)產(chǎn)品的開(kāi)發(fā)都是離不開(kāi)對(duì)數(shù)據(jù)的收集和分析,數(shù) showImg(https://segmentfault.com/img/remote/1460000013428119?w=539&h=337)...
摘要:入門(mén),第一個(gè)這是一門(mén)很新的語(yǔ)言,年前后正式公布,算起來(lái)是比較年輕的編程語(yǔ)言了,更重要的是它是面向程序員的函數(shù)式編程語(yǔ)言,它的代碼運(yùn)行在之上。它通過(guò)編輯類(lèi)工具,帶來(lái)了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語(yǔ)言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺(jué)已經(jīng)到來(lái)了,總結(jié)過(guò)去的 2017,相信小伙們一定有很多收獲...
閱讀 750·2021-10-09 09:44
閱讀 2029·2021-09-22 15:54
閱讀 5066·2021-09-22 10:55
閱讀 1448·2019-08-29 18:41
閱讀 784·2019-08-29 11:24
閱讀 2110·2019-08-28 18:20
閱讀 1035·2019-08-26 11:51
閱讀 3055·2019-08-26 11:00