Merge branch 'master' of github.com:mitsuhiko/flask
This commit is contained in:
commit
67e4d3ee63
24 changed files with 38 additions and 33 deletions
2
CHANGES
2
CHANGES
|
|
@ -401,7 +401,7 @@ Released on July 27th 2010, codename Whisky
|
||||||
prefix. This makes it possible to bind a whole module to a
|
prefix. This makes it possible to bind a whole module to a
|
||||||
configurable subdomain.
|
configurable subdomain.
|
||||||
|
|
||||||
.. _blinker: http://pypi.python.org/pypi/blinker
|
.. _blinker: https://pypi.python.org/pypi/blinker
|
||||||
|
|
||||||
Version 0.5.2
|
Version 0.5.2
|
||||||
-------------
|
-------------
|
||||||
|
|
|
||||||
|
|
@ -597,7 +597,7 @@ Signals
|
||||||
do nothing but will fail with a :exc:`RuntimeError` for all other
|
do nothing but will fail with a :exc:`RuntimeError` for all other
|
||||||
operations, including connecting.
|
operations, including connecting.
|
||||||
|
|
||||||
.. _blinker: http://pypi.python.org/pypi/blinker
|
.. _blinker: https://pypi.python.org/pypi/blinker
|
||||||
|
|
||||||
Class-Based Views
|
Class-Based Views
|
||||||
-----------------
|
-----------------
|
||||||
|
|
|
||||||
|
|
@ -244,7 +244,7 @@ latex_additional_files = ['flaskstyle.sty', 'logo.pdf']
|
||||||
#epub_tocdepth = 3
|
#epub_tocdepth = 3
|
||||||
|
|
||||||
intersphinx_mapping = {
|
intersphinx_mapping = {
|
||||||
'http://docs.python.org/dev': None,
|
'https://docs.python.org/dev': None,
|
||||||
'http://werkzeug.pocoo.org/docs/': None,
|
'http://werkzeug.pocoo.org/docs/': None,
|
||||||
'http://www.sqlalchemy.org/docs/': None,
|
'http://www.sqlalchemy.org/docs/': None,
|
||||||
'http://wtforms.simplecodes.com/docs/0.5/': None,
|
'http://wtforms.simplecodes.com/docs/0.5/': None,
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ For more information consult the `mod_wsgi wiki`_.
|
||||||
|
|
||||||
.. _mod_wsgi: http://code.google.com/p/modwsgi/
|
.. _mod_wsgi: http://code.google.com/p/modwsgi/
|
||||||
.. _installation instructions: http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide
|
.. _installation instructions: http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide
|
||||||
.. _virtual python: http://pypi.python.org/pypi/virtualenv
|
.. _virtual python: https://pypi.python.org/pypi/virtualenv
|
||||||
.. _mod_wsgi wiki: http://code.google.com/p/modwsgi/wiki/
|
.. _mod_wsgi wiki: http://code.google.com/p/modwsgi/wiki/
|
||||||
|
|
||||||
Troubleshooting
|
Troubleshooting
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ event loop::
|
||||||
|
|
||||||
.. _Gevent: http://www.gevent.org/
|
.. _Gevent: http://www.gevent.org/
|
||||||
.. _greenlet: http://greenlet.readthedocs.org/en/latest/
|
.. _greenlet: http://greenlet.readthedocs.org/en/latest/
|
||||||
.. _libevent: http://monkey.org/~provos/libevent/
|
.. _libevent: http://libevent.org/
|
||||||
|
|
||||||
Twisted Web
|
Twisted Web
|
||||||
-----------
|
-----------
|
||||||
|
|
|
||||||
|
|
@ -415,6 +415,6 @@ instead of ``flask_foo`` or ``flaskext_foo`` so that extensions can
|
||||||
transition to the new package name without affecting users.
|
transition to the new package name without affecting users.
|
||||||
|
|
||||||
|
|
||||||
.. _OAuth extension: http://packages.python.org/Flask-OAuth/
|
.. _OAuth extension: http://pythonhosted.org/Flask-OAuth/
|
||||||
.. _mailinglist: http://flask.pocoo.org/mailinglist/
|
.. _mailinglist: http://flask.pocoo.org/mailinglist/
|
||||||
.. _IRC channel: http://flask.pocoo.org/community/irc/
|
.. _IRC channel: http://flask.pocoo.org/community/irc/
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,7 @@ Many other features have been added, as well. A good guide to new features
|
||||||
in HTML5 is Mark Pilgrim's soon-to-be-published book, `Dive Into HTML5`_.
|
in HTML5 is Mark Pilgrim's soon-to-be-published book, `Dive Into HTML5`_.
|
||||||
Not all of them are supported in browsers yet, however, so use caution.
|
Not all of them are supported in browsers yet, however, so use caution.
|
||||||
|
|
||||||
.. _Dive Into HTML5: http://www.diveintohtml5.org/
|
.. _Dive Into HTML5: http://www.diveintohtml5.info/
|
||||||
|
|
||||||
What should be used?
|
What should be used?
|
||||||
--------------------
|
--------------------
|
||||||
|
|
|
||||||
|
|
@ -21,11 +21,11 @@ engine and the `Werkzeug`_ WSGI toolkit. These libraries are not documented
|
||||||
here. If you want to dive into their documentation, check out the
|
here. If you want to dive into their documentation, check out the
|
||||||
following links:
|
following links:
|
||||||
|
|
||||||
- `Jinja2 Documentation <http://jinja.pocoo.org/2/documentation/>`_
|
- `Jinja2 Documentation <http://jinja.pocoo.org/docs>`_
|
||||||
- `Werkzeug Documentation <http://werkzeug.pocoo.org/documentation/>`_
|
- `Werkzeug Documentation <http://werkzeug.pocoo.org/docs>`_
|
||||||
|
|
||||||
|
|
||||||
.. _Jinja2: http://jinja.pocoo.org/2/
|
.. _Jinja2: http://jinja.pocoo.org/
|
||||||
.. _Werkzeug: http://werkzeug.pocoo.org/
|
.. _Werkzeug: http://werkzeug.pocoo.org/
|
||||||
|
|
||||||
.. include:: contents.rst.inc
|
.. include:: contents.rst.inc
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
Flask depends on some external libraries, like `Werkzeug
|
Flask depends on some external libraries, like `Werkzeug
|
||||||
<http://werkzeug.pocoo.org/>`_ and `Jinja2 <http://jinja.pocoo.org/2/>`_.
|
<http://werkzeug.pocoo.org/>`_ and `Jinja2 <http://jinja.pocoo.org/>`_.
|
||||||
Werkzeug is a toolkit for WSGI, the standard Python interface between web
|
Werkzeug is a toolkit for WSGI, the standard Python interface between web
|
||||||
applications and a variety of servers for both development and deployment.
|
applications and a variety of servers for both development and deployment.
|
||||||
Jinja2 renders templates.
|
Jinja2 renders templates.
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ cache that keeps the item stored in the memory of the Python interpreter::
|
||||||
cache = SimpleCache()
|
cache = SimpleCache()
|
||||||
|
|
||||||
If you want to use memcached, make sure to have one of the memcache modules
|
If you want to use memcached, make sure to have one of the memcache modules
|
||||||
supported (you get them from `PyPI <http://pypi.python.org/>`_) and a
|
supported (you get them from `PyPI <https://pypi.python.org/>`_) and a
|
||||||
memcached server running somewhere. This is how you connect to such an
|
memcached server running somewhere. This is how you connect to such an
|
||||||
memcached server then::
|
memcached server then::
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -161,6 +161,6 @@ folder instead of copying the data over. You can then continue to work on
|
||||||
the code without having to run `install` again after each change.
|
the code without having to run `install` again after each change.
|
||||||
|
|
||||||
|
|
||||||
.. _distribute: http://pypi.python.org/pypi/distribute
|
.. _distribute: https://pypi.python.org/pypi/distribute
|
||||||
.. _pip: http://pypi.python.org/pypi/pip
|
.. _pip: https://pypi.python.org/pypi/pip
|
||||||
.. _distribute_setup.py: http://python-distribute.org/distribute_setup.py
|
.. _distribute_setup.py: http://python-distribute.org/distribute_setup.py
|
||||||
|
|
|
||||||
|
|
@ -178,4 +178,4 @@ applications dealing with uploads, there is a Flask extension called
|
||||||
`Flask-Uploads`_ that implements a full fledged upload mechanism with
|
`Flask-Uploads`_ that implements a full fledged upload mechanism with
|
||||||
white and blacklisting of extensions and more.
|
white and blacklisting of extensions and more.
|
||||||
|
|
||||||
.. _Flask-Uploads: http://packages.python.org/Flask-Uploads/
|
.. _Flask-Uploads: http://pythonhosted.org/Flask-Uploads/
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,9 @@ there is a Flask extension that handles that for you. This is recommended
|
||||||
if you want to get started quickly.
|
if you want to get started quickly.
|
||||||
|
|
||||||
You can download `Flask-SQLAlchemy`_ from `PyPI
|
You can download `Flask-SQLAlchemy`_ from `PyPI
|
||||||
<http://pypi.python.org/pypi/Flask-SQLAlchemy>`_.
|
<https://pypi.python.org/pypi/Flask-SQLAlchemy>`_.
|
||||||
|
|
||||||
.. _Flask-SQLAlchemy: http://packages.python.org/Flask-SQLAlchemy/
|
.. _Flask-SQLAlchemy: http://pythonhosted.org/Flask-SQLAlchemy/
|
||||||
|
|
||||||
|
|
||||||
Declarative
|
Declarative
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,9 @@ forms.
|
||||||
The `Flask-WTF`_ extension expands on this pattern and adds a few
|
The `Flask-WTF`_ extension expands on this pattern and adds a few
|
||||||
handful little helpers that make working with forms and Flask more
|
handful little helpers that make working with forms and Flask more
|
||||||
fun. You can get it from `PyPI
|
fun. You can get it from `PyPI
|
||||||
<http://pypi.python.org/pypi/Flask-WTF>`_.
|
<https://pypi.python.org/pypi/Flask-WTF>`_.
|
||||||
|
|
||||||
.. _Flask-WTF: http://packages.python.org/Flask-WTF/
|
.. _Flask-WTF: http://pythonhosted.org/Flask-WTF/
|
||||||
|
|
||||||
The Forms
|
The Forms
|
||||||
---------
|
---------
|
||||||
|
|
|
||||||
|
|
@ -384,7 +384,7 @@ Rendering Templates
|
||||||
Generating HTML from within Python is not fun, and actually pretty
|
Generating HTML from within Python is not fun, and actually pretty
|
||||||
cumbersome because you have to do the HTML escaping on your own to keep
|
cumbersome because you have to do the HTML escaping on your own to keep
|
||||||
the application secure. Because of that Flask configures the `Jinja2
|
the application secure. Because of that Flask configures the `Jinja2
|
||||||
<http://jinja.pocoo.org/2/>`_ template engine for you automatically.
|
<http://jinja.pocoo.org/>`_ template engine for you automatically.
|
||||||
|
|
||||||
To render a template you can use the :func:`~flask.render_template`
|
To render a template you can use the :func:`~flask.render_template`
|
||||||
method. All you have to do is provide the name of the template and the
|
method. All you have to do is provide the name of the template and the
|
||||||
|
|
@ -417,7 +417,7 @@ package it's actually inside your package:
|
||||||
|
|
||||||
For templates you can use the full power of Jinja2 templates. Head over
|
For templates you can use the full power of Jinja2 templates. Head over
|
||||||
to the official `Jinja2 Template Documentation
|
to the official `Jinja2 Template Documentation
|
||||||
<http://jinja.pocoo.org/2/documentation/templates>`_ for more information.
|
<http://jinja.pocoo.org/docs/templates>`_ for more information.
|
||||||
|
|
||||||
Here is an example template:
|
Here is an example template:
|
||||||
|
|
||||||
|
|
@ -855,7 +855,7 @@ Here are some example log calls::
|
||||||
|
|
||||||
The attached :attr:`~flask.Flask.logger` is a standard logging
|
The attached :attr:`~flask.Flask.logger` is a standard logging
|
||||||
:class:`~logging.Logger`, so head over to the official `logging
|
:class:`~logging.Logger`, so head over to the official `logging
|
||||||
documentation <http://docs.python.org/library/logging.html>`_ for more
|
documentation <https://docs.python.org/library/logging.html>`_ for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
Hooking in WSGI Middlewares
|
Hooking in WSGI Middlewares
|
||||||
|
|
@ -878,7 +878,7 @@ Ready to deploy your new Flask app? To wrap up the quickstart, you can
|
||||||
immediately deploy to a hosted platform, all of which offer a free plan for
|
immediately deploy to a hosted platform, all of which offer a free plan for
|
||||||
small projects:
|
small projects:
|
||||||
|
|
||||||
- `Deploying Flask on Heroku <http://devcenter.heroku.com/articles/python>`_
|
- `Deploying Flask on Heroku <https://devcenter.heroku.com/articles/python>`_
|
||||||
- `Deploying WSGI on dotCloud <http://docs.dotcloud.com/services/python/>`_
|
- `Deploying WSGI on dotCloud <http://docs.dotcloud.com/services/python/>`_
|
||||||
with `Flask-specific notes <http://flask.pocoo.org/snippets/48/>`_
|
with `Flask-specific notes <http://flask.pocoo.org/snippets/48/>`_
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -349,4 +349,4 @@ The following signals exist in Flask:
|
||||||
|
|
||||||
.. versionadded:: 0.10
|
.. versionadded:: 0.10
|
||||||
|
|
||||||
.. _blinker: http://pypi.python.org/pypi/blinker
|
.. _blinker: https://pypi.python.org/pypi/blinker
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ An extension can depend on Jinja2 being present.
|
||||||
This section only gives a very quick introduction into how Jinja2
|
This section only gives a very quick introduction into how Jinja2
|
||||||
is integrated into Flask. If you want information on the template
|
is integrated into Flask. If you want information on the template
|
||||||
engine's syntax itself, head over to the official `Jinja2 Template
|
engine's syntax itself, head over to the official `Jinja2 Template
|
||||||
Documentation <http://jinja.pocoo.org/2/documentation/templates>`_ for
|
Documentation <http://jinja.pocoo.org/docs/templates>`_ for
|
||||||
more information.
|
more information.
|
||||||
|
|
||||||
Jinja Setup
|
Jinja Setup
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ every time the app context tears down. So what does this mean?
|
||||||
Essentially the app context is created before the request comes in and is
|
Essentially the app context is created before the request comes in and is
|
||||||
destroyed (teared down) whenever the request finishes. A teardown can
|
destroyed (teared down) whenever the request finishes. A teardown can
|
||||||
happen because of two reasons: either everything went well (the error
|
happen because of two reasons: either everything went well (the error
|
||||||
parameter will be `None`) or an exception happend in which case the error
|
parameter will be `None`) or an exception happened in which case the error
|
||||||
is passed to the teardown function.
|
is passed to the teardown function.
|
||||||
|
|
||||||
Curious about what these contexts mean? Have a look at the
|
Curious about what these contexts mean? Have a look at the
|
||||||
|
|
|
||||||
|
|
@ -20,4 +20,4 @@ templates you create later in the tutorial will go in this directory.
|
||||||
|
|
||||||
Continue with :ref:`tutorial-schema`.
|
Continue with :ref:`tutorial-schema`.
|
||||||
|
|
||||||
.. _Jinja2: http://jinja.pocoo.org/2/
|
.. _Jinja2: http://jinja.pocoo.org/
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ the layout of the website in all pages.
|
||||||
|
|
||||||
Put the following templates into the `templates` folder:
|
Put the following templates into the `templates` folder:
|
||||||
|
|
||||||
.. _Jinja2: http://jinja.pocoo.org/2/documentation/templates
|
.. _Jinja2: http://jinja.pocoo.org/docs/templates
|
||||||
|
|
||||||
layout.html
|
layout.html
|
||||||
-----------
|
-----------
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ when there is no request context yet but an application context. The old
|
||||||
``flask.Flask.request_globals_class`` attribute was renamed to
|
``flask.Flask.request_globals_class`` attribute was renamed to
|
||||||
:attr:`flask.Flask.app_ctx_globals_class`.
|
:attr:`flask.Flask.app_ctx_globals_class`.
|
||||||
|
|
||||||
.. _Flask-OldSessions: http://packages.python.org/Flask-OldSessions/
|
.. _Flask-OldSessions: http://pythonhosted.org/Flask-OldSessions/
|
||||||
|
|
||||||
Version 0.9
|
Version 0.9
|
||||||
-----------
|
-----------
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ def with_metaclass(meta, *bases):
|
||||||
# breaks the __exit__ function in a very peculiar way. This is currently
|
# breaks the __exit__ function in a very peculiar way. This is currently
|
||||||
# true for pypy 2.2.1 for instance. The second level of exception blocks
|
# true for pypy 2.2.1 for instance. The second level of exception blocks
|
||||||
# is necessary because pypy seems to forget to check if an exception
|
# is necessary because pypy seems to forget to check if an exception
|
||||||
# happend until the next bytecode instruction?
|
# happened until the next bytecode instruction?
|
||||||
BROKEN_PYPY_CTXMGR_EXIT = False
|
BROKEN_PYPY_CTXMGR_EXIT = False
|
||||||
if hasattr(sys, 'pypy_version_info'):
|
if hasattr(sys, 'pypy_version_info'):
|
||||||
class _Mgr(object):
|
class _Mgr(object):
|
||||||
|
|
|
||||||
|
|
@ -662,7 +662,7 @@ def get_root_path(import_name):
|
||||||
'module came from an import hook that does '
|
'module came from an import hook that does '
|
||||||
'not provide file name information or because '
|
'not provide file name information or because '
|
||||||
'it\'s a namespace package. In this case '
|
'it\'s a namespace package. In this case '
|
||||||
'the root path needs to be explictly '
|
'the root path needs to be explicitly '
|
||||||
'provided.' % import_name)
|
'provided.' % import_name)
|
||||||
|
|
||||||
# filepath is import_name.py for a module, or __init__.py for a package.
|
# filepath is import_name.py for a module, or __init__.py for a package.
|
||||||
|
|
|
||||||
7
tox.ini
7
tox.ini
|
|
@ -1,6 +1,11 @@
|
||||||
[tox]
|
[tox]
|
||||||
envlist = py26, py27, pypy, py33
|
envlist = docs, py26, py27, pypy, py33, py34
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
deps = blinker
|
deps = blinker
|
||||||
commands = python run-tests.py []
|
commands = python run-tests.py []
|
||||||
|
|
||||||
|
|
||||||
|
[testenv:docs]
|
||||||
|
deps = sphinx
|
||||||
|
commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees docs docs/_build/linkcheck
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue