On 25 June 2015, Ned Jackson Lovely spoke about Flask at the Boston Django Users Meetup Group. I took some notes and am putting them here so I don't lose them; they may or may not be useful to others. Theses notes are not exhaustive.
Functions that are decorated with @flaskapp.route() should return:
flask.Response / current_app.response_classIn theory, your function could return another Flask app, or spit out a WSGI callable that generated a massive CSV on the fly and streamed it to the user
You can do testing:
def test_splash(): client = app.test_client() response = client.get('/') assert response.status_code == 200 assert 'form' in response.data
The Werkzeug debugger is awesome
Defining filters for templates is possible (and ostensibly simple)
Sessions in Flask are interesting
If you write to a "second level" in session, you need to set
session.modified = True for the changes to get written out:
session['first']['second'] = 'new thing' session.modified = True
Flashing is done with sessions, and is useful for displaying those one-time, web app-y messages like "Your post was submitted"
On a general Python note, contexts (with/as) are really cool -- you only
have to implement two __ methods to get the benefits of them
Some useful libraries: SQLAlchemy, WTForms
Blueprints:
Flask objects with an additional "namespace"app.register_blueprint(bp, url_prefix='/counter')
To get GET/POST data, use request.values
Deploying: