Flask自动刷新前端页面(方便调试)livereload

是不是每次调整模板文件,就要停止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
posted @ 2021-04-13 17:37  ty1539  阅读(1276)  评论(0编辑  收藏  举报