当前位置: 首页 > Web前端 > HTML

1、python服务器入门:读取文件返回给前端

时间:2023-04-02 14:55:50 HTML

python读取文件内容,使用接口,前端使用常规的pythonweb开发。服务器端根据url动态生成HTML。通过python读取文件数据,通过接口调用给前端。注意事项确保3.x框架选择python版本:Django:一个通用的web框架;Flask:轻量级实用的web框架;web.py:一个小型网络框架;Bottle:类似Flask的web框架;Tornado:Facebook的开源异步网络框架。只需实现一个小工具并使用Flask。安装方法是pipinstallflask。初衷和想法博客文章管理方式大致分为静态html和动态加载两种。动态加载的文章通常通过数据库访问。为了简化这个过程,直接加载文件是可取的。markdown语法在写文章的开发者中很流行,所以直接加载md文件更容易维护。目前方案github采用的后端加载方式,现有的前端直接加载md文件的方式是vue-markdown-loader。如果对这个方法感兴趣,可以直接使用这个loader方法,后面的内容可以忽略。之所以用python来读取文档返回给前端而不用其他语言,主要是因为python比较流行,应用范围广。作为前端小白,果断选择python学习学习。这个小项目也是用来练手的。注意:只要把md文章放在项目下./static1.注册接口,绑定处理函数2.接收前端传过来的参数(文件名)3.读取文件返回给前端代码如下:python代码简洁@app.route('/getdata/md',methods=['post'])defajax_test_add():params=request.get_json()childPath=params.get('title')if(params.get('title')==None):print('title字段未传!')returnjson.dumps({'resCode':'4001','msg':'参数错误title必须被传递'})else:path='./static'+childPath+'.md'try:f_name=open(path,'r',encoding='UTF-8').read()print(f_name)#成功获取md文件内容returnjson.dumps({'content':f_name,'resCode':2000})除了OSErrorasreason:print('ErrorreadingfileT_T')print('Thereasonfortheerroris%s'%str(reason))returnjson.dumps({'err':str(reason),'resCode':5000})问题总结跨域问题fromflask_corsimportCORSCORS(app,resources=r'/*')r'/*'是通配符,让这个服务器所有的所有URL都允许跨域请求。主机端口号设置app.run(host='0.0.0.0',port=9001,debug=True)前端代码{{item.title}}{{item.category}}{{item.updateAt}}{{item.author}}{{item.segs}}评论{{item.count}}阅读

{{item.content}}

继续阅读
当点击文章标题时,获取data-id属性的值,即传递给后端的文件名和前端调用的接口地址:http://hostname:9001/getdata/md请求方式:POST必须传参:{"title":文章名称(不带后缀)},文章要放在python项目的./static目录下源码:https://github.com/idongchen/docs/blob/master/example/getfile.py