forked from orbit-oss/flask
add heroku/deploy options to quickstart, and add more clear links in tutorial setup.
This commit is contained in:
parent
7ed3cba658
commit
6b9e6a5a52
2 changed files with 46 additions and 10 deletions
|
|
@ -826,3 +826,39 @@ can do it like this::
|
||||||
|
|
||||||
from werkzeug.contrib.fixers import LighttpdCGIRootFix
|
from werkzeug.contrib.fixers import LighttpdCGIRootFix
|
||||||
app.wsgi_app = LighttpdCGIRootFix(app.wsgi_app)
|
app.wsgi_app = LighttpdCGIRootFix(app.wsgi_app)
|
||||||
|
|
||||||
|
Share your Local Server with a Friend
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
`Localtunnel <http://progrium.com/localtunnel/>`_ is a neat tool you can use to
|
||||||
|
quickly share your local Flask server to a friend.
|
||||||
|
|
||||||
|
To install Localtunnel, open a terminal and run the following command::
|
||||||
|
|
||||||
|
sudo gem install localtunnel
|
||||||
|
|
||||||
|
Then, with Flask running at ``http://localhost:5000``, open a new Terminal window
|
||||||
|
and type::
|
||||||
|
|
||||||
|
localtunnel 5000
|
||||||
|
Port 5000 is now publicly accessible from http://54xy.localtunnel.com ...
|
||||||
|
|
||||||
|
*(Get a* ``gem: command not found`` *error? Download RubyGems*
|
||||||
|
`here <http://rubygems.org/pages/download>`_ *.)*
|
||||||
|
|
||||||
|
If you load the URL given in the localtunnel output in your browser, you
|
||||||
|
should see your Flask app. It's actually being loaded from your own computer!
|
||||||
|
|
||||||
|
Deploying to a Web Server
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
`Heroku <http://www.heroku.com>`_ offers a free web platform to host your
|
||||||
|
Flask app, and is the easiest way for you to put your Flask app online.
|
||||||
|
They have excellent instructions on how to deploy your Flask app `here
|
||||||
|
<http://devcenter.heroku.com/articles/python>`_.
|
||||||
|
|
||||||
|
Other resources for deploying Flask apps:
|
||||||
|
|
||||||
|
- `Deploying Flask on ep.io <https://www.ep.io/docs/quickstart/flask/>`_
|
||||||
|
- `Deploying Flask on Webfaction <http://flask.pocoo.org/snippets/65/>`_
|
||||||
|
- `Deploying Flask on Google App Engine <https://github.com/kamalgill/flask-appengine-template>`_
|
||||||
|
|
|
||||||
|
|
@ -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
|
would be to create a separate `.ini` or `.py` file and load that or import
|
||||||
the values from there.
|
the values from there.
|
||||||
|
|
||||||
::
|
In `flaskr.py`::
|
||||||
|
|
||||||
# all the imports
|
# all the imports
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
|
@ -26,7 +26,7 @@ the values from there.
|
||||||
PASSWORD = 'default'
|
PASSWORD = 'default'
|
||||||
|
|
||||||
Next we can create our actual application and initialize it with the
|
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 :)
|
# create our little application :)
|
||||||
app = Flask(__name__)
|
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
|
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.
|
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
|
Usually, it is a good idea to load a configuration from a configurable
|
||||||
configurable file. This is what :meth:`~flask.Config.from_envvar` can
|
file. This is what :meth:`~flask.Config.from_envvar` can do, replacing the
|
||||||
do::
|
:meth:`~flask.Config.from_object` line above::
|
||||||
|
|
||||||
app.config.from_envvar('FLASKR_SETTINGS', silent=True)
|
app.config.from_envvar('FLASKR_SETTINGS', silent=True)
|
||||||
|
|
||||||
That way someone can set an environment variable called
|
That way someone can set an environment variable called
|
||||||
:envvar:`FLASKR_SETTINGS` to specify a config file to be loaded which will
|
:envvar:`FLASKR_SETTINGS` to specify a config file to be loaded which will then
|
||||||
then override the default values. The silent switch just tells Flask to
|
override the default values. The silent switch just tells Flask to not complain
|
||||||
not complain if no such environment key is set.
|
if no such environment key is set.
|
||||||
|
|
||||||
The `secret_key` is needed to keep the client-side sessions secure.
|
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
|
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 flag enables or disables the interactive debugger. *Never leave
|
||||||
debug mode activated in a production system because it will allow users to
|
debug mode activated in a production system*, because it will allow users to
|
||||||
execute code on the server!
|
execute code on the server!
|
||||||
|
|
||||||
We also add a method to easily connect to the database specified. That
|
We also add a method to easily connect to the database specified. That
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue