在开发和调试wsgi应用程序时,有很多方法可以自动重新加载代码。例如,如果你使用的是werkzeug
,则只需要传use_reloader
参数即可:
run_sumple('127.0.0.1', 5000, app, use_reloader=True)
对于Flask,实际上在内部使用werkzeug,所以你需要设置debug = true:
app.run(debug=True)
django会在你修改任何代码的时候自动为你重新加载:
python manage.py runserver
所有这些例子在本地开发的时候都非常有用,但是,建议不要在实际生产中使用。
作为学习,可以一起来看一下,python是如何让代码自动地重新加载的?
uWSGI
如果使用的是 uwsgi
和 django
,实际上可以直接通过代码跳转查看一下 django
本身的自动重载机制:
import uwsgi
from uwsgidecorators import timer
from django.utils import autoreload
@timer(3)
def change_code_gracefull_reload(