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 骨朵关闭
网友评论