@@ -60,8 +60,22 @@ Despite the origin as a joke, the Flask framework became wildly popular as
6060an alternative to Django projects with their monolithic structure and
6161dependencies.
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
188215Flask's lack of standard boilerplate via a commandline interface for
189216setting up your project structure is a double edged sword. When you
190217get 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
2502821 . [ Install Flask] ( http://flask.pocoo.org/docs/installation/ ) on
0 commit comments