Wla*_*lad 16 python refresh flask livereload hot-reload
我已经开始学习 Flask 来开发 Web 应用程序。我真正缺少的是在任何代码更改(包括静态文件、模板等)后自动刷新浏览器。这似乎是几乎所有 Javascript 框架中的标准功能。前端人员对此有几个术语:自动重新加载/刷新,热重新加载/刷新(hotreload),实时重新加载/刷新(livereload),...
在 Stackoverflow 上,最相似的问题与 Flask 服务器的自动重新加载有关(--> https://stackoverflow.com/search?q=flask+auto+reload)。
J 只是想要一个简单的浏览器刷新。
我用谷歌搜索并尝试了几件事 - 没有运气:
如何在 Flask 中获得流畅的开发体验,而不必每天在浏览器中按 1000 次 F5 键只是为了查看更改的结果?
我认为答案python-livereload离上面的链接很近。所以我想我的问题的另一个标题可能是:
有人有 Flask + python-livereload 的工作示例吗?
我愚蠢地从他们的文档中获取它:)
编辑:为了完整起见,这里是我正在使用的 Flask 应用程序。
# filename: main.py
from flask import Flask, render_template
from livereload import Server
app = Flask(__name__)
@app.route('/')
def index():
return "INDEX"
@app.route('/bart')
def use_jinja():
return render_template('basic.html')
if __name__ == '__main__':
server = Server(app.wsgi_app)
server.serve(port=5555)
Run Code Online (Sandbox Code Playgroud)
我启动应用程序
python main.py
Run Code Online (Sandbox Code Playgroud)
Nat*_*han 18
这是您提出的一个有趣的问题,因此我构建了一个使用 livereload 库的快速而肮脏的 Flask 应用程序。下面列出了使其工作的关键步骤:
下载并安装 livereload 库:
pip install livereload
在启动您的烧瓶应用程序的主文件中,run.py在我的特殊情况下,使用Serverlivereload 提供的类包装烧瓶应用程序。
例如,我的run.py文件如下所示:
from app import app
from livereload import Server
if __name__ == '__main__':
server = Server(app.wsgi_app)
server.serve()
Run Code Online (Sandbox Code Playgroud)
再次启动您的服务器:
python run.py
在浏览器中导航到 localhost,您的代码更改将自动刷新。对我来说,我把由livereload提供的,所以我的网址如下所示的5500的默认端口:http://localhost:5500/。
通过这些步骤,您现在应该能够利用自动重新加载进行 Python 开发,类似于 webpack 为大多数前端框架提供的功能。
为了完整起见,可以在此处找到代码库
希望这有帮助!
| 归档时间: |
|
| 查看次数: |
10788 次 |
| 最近记录: |