-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathapp.py
More file actions
52 lines (42 loc) · 1.57 KB
/
app.py
File metadata and controls
52 lines (42 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
"""
===============
learnpython.app
===============
Flask application for Learn Python web-site.
Used extensions
===============
* `Flask-Babel <http://packages.python.org/Flask-Babel/>`_
* `Flask-FlatPages <http://packages.python.org/Flask-FlatPages/>`_
* `Flask-LazyViews <http://pypi.python.org/pypi/Flask-LazyViews>`_
* `Flask-Mail <http://packages.python.org/Flask-Mail/>`_
* `Flask-Script <http://flask-script.readthedocs.org/en/latest/>`_
* `Flask-Testing <http://packages.python.org/Flask-Testing/>`_
* `Flask-WTF <http://packages.python.org/Flask-WTF/>`_
"""
from flask import Flask
from flask.ext.babel import Babel
from flask.ext.flatpages import FlatPages
from flask.ext.lazyviews import LazyViews
from flask.ext.mail import Mail
from flask.ext.script import Manager
from learnpython import settings
# Initialize Flask application
app = Flask('learnpython')
app.config.from_object(settings)
# Configure all necessary plugins
babel = Babel(app)
mail = Mail(app)
manager = Manager(app)
pages = FlatPages(app)
# Register all possible urls
views = LazyViews(app, '.views')
views.add('/', 'page', defaults={'name': 'index'}, endpoint='index')
views.add('/contacts', 'contacts', methods=('GET', 'POST'))
views.add('/flows', 'flows', endpoint='flows')
views.add('/flows/archive/<int:archive>', 'flows', endpoint='flows_archive')
views.add('/status', 'status')
views.add('/subscribe', 'subscribe', methods=('GET', 'POST'))
views.add_error(404, 'error')
views.add_error(500, 'error')
views.add_static('/favicon.ico', defaults={'filename': 'img/favicon.ico'})
views.add('/<path:name>', 'page')