Skip to content

Commit a12fded

Browse files
committed
major updates to flask page and related resources
1 parent dbcf24e commit a12fded

File tree

1 file changed

+42
-10
lines changed

1 file changed

+42
-10
lines changed

content/pages/04-web-development/03-flask.markdown

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,22 @@ Despite the origin as a joke, the Flask framework became wildly popular as
6060
an alternative to Django projects with their monolithic structure and
6161
dependencies.
6262

63+
Flask's success created a lot of additional work in issue tickets and pull
64+
requests. Armin eventually created
65+
[The Pallets Projects](https://www.palletsprojects.com/) collection of open
66+
source code libraries after he had been managing Flask under his own GitHub
67+
account for several years. The Pallets Project now serves as the
68+
community-driven organization that handles Flask and other related Python
69+
libraries such as [Lektor](/lektor.html), [Jinja](/jinja2.html) and
70+
several others.
71+
6372

6473
### Flask beginner tutorials
74+
The "Hello, World!" code for Flask is just seven lines of code but learning how
75+
to build full-featured web applications with any framework takes a lot of work.
76+
These resources listed below are the best up-to-date tutorials and references
77+
for getting started.
78+
6579
* The Flask mega tutorial by
6680
[Miguel Grinberg](https://twitter.com/miguelgrinberg) is a perfect
6781
starting resource for using this web framework. Each post focuses on a
@@ -90,18 +104,16 @@ dependencies.
90104
book that are excellent resources worth the price, especially to support
91105
his continuous revisions to the content.
92106

107+
* Armin Ronacher, the creator of Flask, presented the technical talk
108+
[Flask for Fun and Profit](https://www.youtube.com/watch?v=1ByQhAM5c1I)
109+
at PyBay 2016 where he discusses using the framework to build web apps
110+
and [APIs](/application-programming-interfaces.html).
111+
93112
* [Explore Flask](http://exploreflask.com/) is a public domain book that
94113
was previously backed on Kickstarter and cost money for about a year before
95114
being open sourced. The book explains best practices and patterns for
96115
building Flask apps.
97116

98-
* The blog post series "Things which aren't magic" covers how Flask's
99-
ubiquitous @app.route decorator works under the covers. There are two
100-
parts in the series,
101-
[part 1](https://ains.co/blog/things-which-arent-magic-flask-part-1.html)
102-
and
103-
[part 2](https://ains.co/blog/things-which-arent-magic-flask-part-2.html).
104-
105117
* [Flask by Example: Part 1](http://www.realpython.com/blog/python/flask-by-example-part-1-project-setup/)
106118
shows the basic first steps for setting up a Flask project.
107119
[Part 2](http://www.realpython.com/blog/flask-by-example-part-2-postgres-sqlalchemy-and-alembic/)
@@ -111,21 +123,36 @@ dependencies.
111123
[Part 4](https://realpython.com/blog/python/flask-by-example-implementing-a-redis-task-queue/)
112124
shows how to build a task queue with Flask and Redis.
113125

126+
* The blog post series "Things which aren't magic" covers how Flask's
127+
ubiquitous @app.route decorator works under the covers. There are two
128+
parts in the series,
129+
[part 1](https://ains.co/blog/things-which-arent-magic-flask-part-1.html)
130+
and
131+
[part 2](https://ains.co/blog/things-which-arent-magic-flask-part-2.html).
132+
114133
* [How to Structure Large Flask Applications](https://www.digitalocean.com/community/articles/how-to-structure-large-flask-applications)
115134
covers a subject that comes up quickly once you begin adding significant
116135
functionality to your Flask application.
117136

118137
* [Flask Blueprint templates](http://fewstreet.com/2015/01/16/flask-blueprint-templates.html)
119138
shows a way of structuring your `__init__.py` file with
120-
[blueprints](http://flask.pocoo.org/docs/0.10/blueprints/) for large
121-
projects.
139+
[blueprints](http://flask.pocoo.org/docs/0.10/blueprints/) for expanding
140+
projects into many files and modules.
122141

123142
* If you're not sure why `DEBUG` should be set to `False` in a production
124143
[deployment](/deployment.html), be sure to read this article on
125144
[how Patreon got hacked](http://labs.detectify.com/post/130332638391/how-patreon-got-hacked-publicly-exposed-werkzeug).
126145

127146

128147
### Intermediate to advanced Flask resources
148+
Once you move past the beginner tutorials and have created a few Flask
149+
projects you will want to learn how to use Flask extensions,
150+
[deploy](/deployment.html) your code and integrate
151+
[web APIs](/application-programming-interfaces.html) to build more
152+
extensive functionality. The following tutorials will guide you through
153+
more advanced topics and provide solid learning materials, especially when
154+
combined with the example real-world projects listed in the next section.
155+
129156
* [Microservices with Flask, Docker, and React](https://testdriven.io/)
130157
teaches how to spin up a reproducible Flask development environment with
131158
[Docker](/docker.html). It shows how to [deploy](/deployment.html) it to an
@@ -184,7 +211,7 @@ dependencies.
184211
static website from a backend data source.
185212

186213

187-
### Open Source Flask Example Code
214+
### Open source Flask example projects
188215
Flask's lack of standard boilerplate via a commandline interface for
189216
setting up your project structure is a double edged sword. When you
190217
get started with Flask you will have to figure out how to scale the
@@ -245,6 +272,11 @@ ways to structure your code.
245272
[Flask boilerplate project with SQLAlchemy, py.test and Celery](https://github.com/sunscrapers/flask-boilerplate)
246273
baked into the Flask project structure.
247274

275+
* [flask-webpack-cookiecutter](https://github.com/mattfinnell/flask-webpack-cookiecutter/)
276+
combines a Flask framework project structure with
277+
[Webpack](https://webpack.js.org/), a module bundler frequently used
278+
in the JavaScript world.
279+
248280

249281
### Flask framework learning checklist
250282
1. [Install Flask](http://flask.pocoo.org/docs/installation/) on

0 commit comments

Comments
 (0)