是不是每次调整模板文件,就要停止flask服务器,重启flask服务器,再去浏览器刷新页面?
有没有办法自动完成这3步呢?
安装livereload即可,
仅仅把app.run()
改为下面的例子就可以了。
注意:现在只支持python3.7,不支持3.8,并且尽限于修改模板文件,或者静态文件,改python代码,是会出错的。
#coding=utf-8
from flask import Flask, render_template
app = Flask(__name__)
app.config['DEBUG'] = True # 如果没有这个配置, 感觉server.serve() 没什么作用,只是把默认的端口改为了550
@app.route('/')
def hello_world():
return render_template('home.html')
if __name__ == '__main__':
from livereload import Server
server = Server(app.wsgi_app)
server.watch('**/*.*')
server.serve()
# app.run()
templates/home.html
<html>
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<h1>Hello Login 哈哈哈</h1>
<form method="POST" action="/login">
<input type="text" name="user" />
<input type="text" name="email" />
<input type="text" name="pwd" />
<input type="submit" value="提交" />
</form>
</body>
<footer>
</footer>
</html>
livereload 用法二 main.py
#coding=utf-8
from flask import Flask
from flask_script import Manager
app = Flask(__name__)
manager = Manager(app)
@app.route("/")
def upload():
return "hello nihao"
#自动加载代码并推送显示到浏览器
@manager.command
def dev():
from livereload import Server
live_server = Server(app.wsgi_app)
live_server.watch("**/*.*")
live_server.serve(open_url=True)
if __name__ == "__main__":
manager.run()
#python main.py dev