{{item.content}}
摘要:讀取文件內(nèi)容并通過接口給前端使用常規(guī)的開發(fā)是在服務(wù)器端根據(jù)動(dòng)態(tài)生成這里還是采取前后端分離思想,通過讀取文件數(shù)據(jù),通過接口給前端調(diào)用。之所以采取讀取文檔并返回給前端而不是其他語言主要是因?yàn)楸容^火熱,應(yīng)用面廣。
python讀取文件內(nèi)容并通過接口給前端使用
常規(guī)的python web開發(fā)是在服務(wù)器端根據(jù)url動(dòng)態(tài)生成html
這里還是采取前后端分離思想,通過python讀取文件數(shù)據(jù),通過接口給前端調(diào)用。
注意事項(xiàng)
確保python版本為3.x
框架選型:
Django:全能型Web框架;
Flask:輕量實(shí)用的Web框架;
web.py:一個(gè)小巧的Web框架;
Bottle:和Flask類似的Web框架;
Tornado:Facebook的開源異步Web框架。
只是實(shí)現(xiàn)一個(gè)小工具實(shí)用Flask就好
安裝方式
pip install flask初衷和思路
博客的文章管理方式大體分兩種:靜態(tài)html、動(dòng)態(tài)加載。動(dòng)態(tài)加載文章一般通過數(shù)據(jù)庫存取,為了簡化此過程,就想通過直接加載文件的方式。
markdown語法在寫文章上很受開發(fā)者青睞,因此直接加載md文件就比較便于維護(hù)。
現(xiàn)行方案中
github采用的后端加載方式,已有的一種前端直接加載md文件的方式是vue-markdown-loader
對此方式感興趣可以直接采用這種loader方式,以下內(nèi)容就可以忽略了。
之所以采取python讀取文檔并返回給前端而不是其他語言主要是因?yàn)閜ython比較火熱,應(yīng)用面廣。作為一枚小前端果斷選擇python來研究學(xué)習(xí),這個(gè)小項(xiàng)目也是用來練練手。
注:md文章放在項(xiàng)目./static下就好
1.注冊接口,綁定處理函數(shù)
2.接收前端傳遞的參數(shù)(文件名)
3.讀取文件,返回到前端
代碼如下:python代碼就是簡潔
@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})
問題總結(jié)
跨域問題
from flask_cors import CORS
CORS(app, resources=r"/*")
r"/*" 是通配符,讓本服務(wù)器所有的URL 都允許跨域請求
主機(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
請求方式:POST
必傳參數(shù):{"title": 文章名(不用加后綴)},該文章要放在python項(xiàng)目的./static目錄下
源碼:https://github.com/idongchen/docs/blob/master/example/getfile.py
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/52815.html
摘要:讀取文件內(nèi)容并通過接口給前端使用常規(guī)的開發(fā)是在服務(wù)器端根據(jù)動(dòng)態(tài)生成這里還是采取前后端分離思想,通過讀取文件數(shù)據(jù),通過接口給前端調(diào)用。之所以采取讀取文檔并返回給前端而不是其他語言主要是因?yàn)楸容^火熱,應(yīng)用面廣。 python讀取文件內(nèi)容并通過接口給前端使用 常規(guī)的python web開發(fā)是在服務(wù)器端根據(jù)url動(dòng)態(tài)生成html這里還是采取前后端分離思想,通過python讀取文件數(shù)據(jù),通過接口...
摘要:讀取文件內(nèi)容并通過接口給前端使用常規(guī)的開發(fā)是在服務(wù)器端根據(jù)動(dòng)態(tài)生成這里還是采取前后端分離思想,通過讀取文件數(shù)據(jù),通過接口給前端調(diào)用。之所以采取讀取文檔并返回給前端而不是其他語言主要是因?yàn)楸容^火熱,應(yīng)用面廣。 python讀取文件內(nèi)容并通過接口給前端使用 常規(guī)的python web開發(fā)是在服務(wù)器端根據(jù)url動(dòng)態(tài)生成html這里還是采取前后端分離思想,通過python讀取文件數(shù)據(jù),通過接口...
摘要:圖意淫爬蟲與反爬蟲間的對決數(shù)據(jù)的重要性如今已然是大數(shù)據(jù)時(shí)代,數(shù)據(jù)正在驅(qū)動(dòng)著業(yè)務(wù)開發(fā),驅(qū)動(dòng)著運(yùn)營手段,有了數(shù)據(jù)的支撐可以對用戶進(jìn)行用戶畫像,個(gè)性化定制,數(shù)據(jù)可以指明方案設(shè)計(jì)和決策優(yōu)化方向,所以互聯(lián)網(wǎng)產(chǎn)品的開發(fā)都是離不開對數(shù)據(jù)的收集和分析,數(shù) showImg(https://segmentfault.com/img/remote/1460000013428119?w=539&h=337)...
摘要:入門,第一個(gè)這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運(yùn)行在之上。它通過編輯類工具,帶來了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...
閱讀 1808·2023-04-26 01:44
閱讀 1222·2021-11-12 10:34
閱讀 1611·2021-09-09 09:33
閱讀 1740·2019-08-30 15:44
閱讀 2903·2019-08-30 13:49
閱讀 2199·2019-08-29 15:26
閱讀 954·2019-08-26 13:30
閱讀 1420·2019-08-23 18:15