* Converts example/flaskr to have a setup.py
Makes the flaskr app easier to run, ex. workflow:
- pip install --editable .
- export FLASK_APP=flaskr.flaskr
- flask initdb
- flask run
Testing is also easier now:
- python setup.py test
* Fixed an import error in flaskr/tests
- the statement `import flaskr` caused errors in python3
- `from . import flaskr` fixes the issue in 2.7.11 and 3.5.1
* Better project structure and updates the docs
- Re-factors *flaskr*'s project structure a bit
- Updates docs to make sense with the new structure
- Adds a new step about installing Flask apps with setuptools
- Switches first-person style writing to second-person (reads better IMO)
- Adds segments in *testing.rst* for running tests with setuptools
* Remove __init__.py from tests
- py.test recommends not using __init__.py
* Fix testing import errors
This commit adds a test case for `test_find_best_app` where
Module object does not contain Flask application.
Also cleans the function little bit to provides more meaningful comment.
* Clarify instructions about changing row_factory
When I was working through the tutorial, this was very confusing to me; so, I've added the code and clarification that would have helped me get through it faster.
* Clarify the nature of Row objects
* Rewrite code example for further clarity.
When Flask app debugging is enabled (app.debug==True), and Jinja2
template auto-reloading is not explicitly disbaled, template
auto-reloading should be enabled.
If the app is instantiated, the jinja_env object is accessed (thereby
initialising the Jinja2 environment) and the server is then started with
app.run(debug=True), template auto-reloading is *not* enabled.
This is because reading the jinja_env object causes the environment
initialisation function to set auto_reload to app.debug (which isn't yet
True). Calling app.run(debug=True) should correct this in order to
remain consistent with Flask code reloading (which is enabled within
app.run() if debug == True).