Answer a question

I'm investigating how to develop a decent web app with Python. Since I don't want some high-order structures to get in my way, my choice fell on the lightweight Flask framework. Time will tell if this was the right choice.

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?

Answers

Run the flask run CLI command with debug mode enabled, which will automatically enable the reloader. As of Flask 2.2, you can pass --app and --debug options on the command line.

$ flask --app main.py --debug run

--app can also be set to module:app or module:create_app instead of module.py. See the docs for a full explanation.

More options are available with:

$ flask run --help

Prior to Flask 2.2, you needed to set the FLASK_APP and FLASK_ENV=development environment variables.

$ export FLASK_APP=main.py
$ export FLASK_ENV=development
$ flask run

It is still possible to set FLASK_APP and FLASK_DEBUG=1 in Flask 2.2.

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐