我正在研究如何用Python开发一个不错的web应用程序。因为我不想让一些高阶结构妨碍我,所以我选择了轻量级的Flask框架。时间会证明这是否是正确的选择。
So, now I've set up an Apache server with mod_wsgi, and my test site is running fine. However, I'd like to speed up the development routine by making the site automatically reload upon any changes in py or template files I make. I see that any changes in site's .wsgi file causes reloading (even without WSGIScriptReloading On in the apache config file), but I still have to prod it manually (ie, insert extra linebreak, save). Is there some way how to cause reload when I edit some of the app's py files? Or, I am expected to use IDE that refreshes the .wsgi file for me?
在开启调试模式的情况下运行flask Run CLI命令,将自动启用reloader。从Flask 2.2开始,你可以在命令行上传递——app和——debug选项。
$ flask --app main.py --debug run
——app也可以设置为module:app或module:create_app,而不是module.py。详见医生的详细说明。
有更多的选择:
$ flask run --help
在Flask 2.2之前,您需要设置FLASK_APP和FLASK_ENV=开发环境变量。
$ export FLASK_APP=main.py
$ export FLASK_ENV=development
$ flask run
在Flask 2.2中仍然可以设置FLASK_APP和FLASK_DEBUG=1。
在开启调试模式的情况下运行flask Run CLI命令,将自动启用reloader。从Flask 2.2开始,你可以在命令行上传递——app和——debug选项。
$ flask --app main.py --debug run
——app也可以设置为module:app或module:create_app,而不是module.py。详见医生的详细说明。
有更多的选择:
$ flask run --help
在Flask 2.2之前,您需要设置FLASK_APP和FLASK_ENV=开发环境变量。
$ export FLASK_APP=main.py
$ export FLASK_ENV=development
$ flask run
在Flask 2.2中仍然可以设置FLASK_APP和FLASK_DEBUG=1。
我有不同的想法:
第一:
pip install python-dotenv
安装python-dotenv模块,该模块将读取项目环境的本地首选项。
第二:
在项目目录中添加.flaskenv文件。添加以下代码:
FLASK_ENV=development
这是完成了!
使用此配置为您的Flask项目,当您运行Flask运行时,您将在终端中看到以下输出:
编辑文件时,保存更改即可。你会看到自动重载为你:
更多解释:
当然,您可以在需要的时候手动点击export FLASK_ENV=development。但是使用不同的配置文件来处理实际的工作环境似乎是一个更好的解决方案,所以我强烈推荐我使用的这种方法。