美文网首页
Flask之二:袖珍web服务器

Flask之二:袖珍web服务器

作者: 奇奇乌布里 | 来源:发表于2020-04-21 09:52 被阅读0次
    Flask创建的web小巧可爱,最小只要4坨
    • 对,只需要一个py文件就可以建立一个web服务器。当然这个服务器是临时测试用的,生产环境下要换成其他的比如Nginx。不过因为我认为python只适用于写小的应用,大的网站那种建议用效率更高的语言来写,所以这个Flask自带的测试web服务器也可以了。
    # run.py
    
    # 1.引入模块
    from flask import Flask
    
    # 2.创建实例
    app = Flask(__name__)
    app.config['JSON_AS_ASCII'] = False  # 防止jsonify后出现中文乱码
    app.config['DEBUG'] = True  # 开启调试模式
    app.config['ENV'] = 'development'  # 注明当前是调试模式
    
    # 3.绑定路由
    @app.route('/')
    def index():
        return "初めまして、どうぞよろしくお愿いします"
    
    # 4.启动web
    if __name__ == "__main__":
        app.run(port='8090', host='0.0.0.0')
        
    # 然后用python运行这个py文件,即可启动
    # 这个web服务器不可在生产环境中使用,要换成其他的比如Nginx
    
    跨域访问

    如果需要添加对跨域访问的支持, 则需要在response钩子函数上弄一个添加header的代码, 如下(放在主py文件里即可):

    # 请求插件, 在所有response之前加入如下header
    @app.after_request
    def add_header(r):
        r = make_response(r)
        r.headers['Access-Control-Allow-Origin'] = '*'
        r.headers['Access-Control-Allow-Methods'] = 'GET,POST'
        r.headers['Access-Control-Allow-Headers'] = 'x-requested-with,content-type'
        return r
    
    在前台或后台运行Flask web程序
    # A.后台运行
    # cd到run.py文件夹里
    # 开启venv
    (venv) ... $ nohup py -u run.py >> log.runpy 2>&1 &
    # 启动后台运行并追加日志到log.runpy
    
    # B.前台运行
    # cd到run.py文件夹里
    # 开启venv
    (venv) ... $ py run.py
    
    查询后台程序并关闭
    $ ps aux|grep xxx.py  # xxx.py 你的py主程序文件名
    # 查询出来后找到pid,比方说是12676:
    $ kill 12676
    $ kill -9 12676  # -9 骨朵关闭
    

    相关文章

      网友评论

          本文标题:Flask之二:袖珍web服务器

          本文链接:https://www.haomeiwen.com/subject/kfueihtx.html