|
|
|
@ -11,7 +11,7 @@ into the module which we will be doing here. However a cleaner solution
|
|
|
|
|
would be to create a separate `.ini` or `.py` file and load that or import |
|
|
|
|
the values from there. |
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
In `flaskr.py`:: |
|
|
|
|
|
|
|
|
|
# all the imports |
|
|
|
|
import sqlite3 |
|
|
|
@ -26,7 +26,7 @@ the values from there.
|
|
|
|
|
PASSWORD = 'default' |
|
|
|
|
|
|
|
|
|
Next we can create our actual application and initialize it with the |
|
|
|
|
config from the same file:: |
|
|
|
|
config from the same file, in `flaskr.py`:: |
|
|
|
|
|
|
|
|
|
# create our little application :) |
|
|
|
|
app = Flask(__name__) |
|
|
|
@ -37,21 +37,21 @@ string it will import it) and then look for all uppercase variables
|
|
|
|
|
defined there. In our case, the configuration we just wrote a few lines |
|
|
|
|
of code above. You can also move that into a separate file. |
|
|
|
|
|
|
|
|
|
It is also a good idea to be able to load a configuration from a |
|
|
|
|
configurable file. This is what :meth:`~flask.Config.from_envvar` can |
|
|
|
|
do:: |
|
|
|
|
Usually, it is a good idea to load a configuration from a configurable |
|
|
|
|
file. This is what :meth:`~flask.Config.from_envvar` can do, replacing the |
|
|
|
|
:meth:`~flask.Config.from_object` line above:: |
|
|
|
|
|
|
|
|
|
app.config.from_envvar('FLASKR_SETTINGS', silent=True) |
|
|
|
|
|
|
|
|
|
That way someone can set an environment variable called |
|
|
|
|
:envvar:`FLASKR_SETTINGS` to specify a config file to be loaded which will |
|
|
|
|
then override the default values. The silent switch just tells Flask to |
|
|
|
|
not complain if no such environment key is set. |
|
|
|
|
:envvar:`FLASKR_SETTINGS` to specify a config file to be loaded which will then |
|
|
|
|
override the default values. The silent switch just tells Flask to not complain |
|
|
|
|
if no such environment key is set. |
|
|
|
|
|
|
|
|
|
The `secret_key` is needed to keep the client-side sessions secure. |
|
|
|
|
Choose that key wisely and as hard to guess and complex as possible. The |
|
|
|
|
debug flag enables or disables the interactive debugger. Never leave |
|
|
|
|
debug mode activated in a production system because it will allow users to |
|
|
|
|
debug flag enables or disables the interactive debugger. *Never leave |
|
|
|
|
debug mode activated in a production system*, because it will allow users to |
|
|
|
|
execute code on the server! |
|
|
|
|
|
|
|
|
|
We also add a method to easily connect to the database specified. That |
|
|
|
|