@ -8,9 +8,9 @@ module. That is quite simple. Imagine a small application looks like
this::
/yourapplication
/ yourapplication.py
yourapplication.py
/static
/ style.css
style.css
/templates
layout.html
index.html
@ -29,9 +29,9 @@ You should then end up with something like that::
/yourapplication
/yourapplication
/ __init__.py
__init__.py
/static
/ style.css
style.css
/templates
layout.html
index.html
@ -41,11 +41,36 @@ You should then end up with something like that::
But how do you run your application now? The naive `` python
yourapplication/__init__.py`` will not work. Let's just say that Python
does not want modules in packages to be the startup file. But that is not
a big problem, just add a new file called :file: `runserver .py` next to the inner
a big problem, just add a new file called :file: `setup .py` next to the inner
:file: `yourapplication` folder with the following contents::
from yourapplication import app
app.run(debug=True)
from setuptools import setup
setup(
name='yourapplication',
packages=['yourapplication'],
include_package_data=True,
install_requires=[
'flask',
],
)
In order to run the application you need to export an environment variable
that tells Flask where to find the application instance::
export FLASK_APP=yourapplication
If you are outside of the project directory make sure to provide the exact
path to your application directory. Similiarly you can turn on "debug
mode" with this environment variable::
export FLASK_DEBUG=true
In order to install and run the application you need to issue the following
commands::
pip install -e .
flask run
What did we gain from this? Now we can restructure the application a bit
into multiple modules. The only thing you have to remember is the
@ -77,12 +102,12 @@ And this is what :file:`views.py` would look like::
You should then end up with something like that::
/yourapplication
/runserver .py
setup .py
/yourapplication
/ __init__.py
/ views.py
__init__.py
views.py
/static
/ style.css
style.css
/templates
layout.html
index.html