1. 文章
  2. 文章详情

python服务端基础--读取文件并返回给前端

python读取文件内容并通过接口给前端使用

常规的python web开发是在服务器端根据url动态生成html

这里还是采取前后端分离思想,通过python读取文件数据,通过接口给前端调用。

框架选型:

  • Django:全能型Web框架;
  • Flask:轻量实用的Web框架;
  • web.py:一个小巧的Web框架;
  • Bottle:和Flask类似的Web框架;
  • Tornado:Facebook的开源异步Web框架。

安装方式

pip install flask

一种前端直接加载md文件的方式是vue-markdown-loader
注:md文章放在项目./static下就好

  • 1.注册接口,绑定处理函数
  • 2.接收前端传递的参数(文件名)
  • 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':'参数错误title为必传'})
    else:
        path = './static' + childPath + '.md'
        try:
            f_name = open(path, 'r', encoding='UTF-8').read()
            print(f_name)
            # 成功获取到md文件内容啦
            return json.dumps({'content':f_name,'resCode':2000})
        except OSError as reason:
            print('读取文件出错了T_T')
            print('出错原因是%s' % str(reason))
        return json.dumps({'err': str(reason),'resCode':5000})
  • 跨域问题

from flask_cors import CORS
CORS(app, resources=r'/*')

r'/*' 是通配符,让本服务器所有的URL 都允许跨域请求

  • 主机端口号设置

app.run(host = '0.0.0.0', port = 9001, debug = True)

源码:https://github.com/idongchen/docs/blob/master/example/getfile.py


发表评论

登录后才能评论

评论列表(0条)