<p>This tutorial will walk you through creating a basic blog application
called Flaskr. Users will be able to register, log in, create posts,
and edit or delete their own posts. You will be able to package and
install the application on other computers.</p>
<imgalt="screenshot of index page"class="screenshot align-center"src="../_images/flaskr_index.png"/>
<p>It’s assumed that you’re already familiar with Python. The <aclass="reference external"href="https://docs.python.org/3/tutorial/">official
tutorial</a> in the Python docs is a great way to learn or review first.</p>
<p>While it’s designed to give a good starting point, the tutorial doesn’t
cover all of Flask’s features. Check out the <aclass="reference internal"href="../quickstart.html"><spanclass="doc">Quickstart</span></a> for an
overview of what Flask can do, then dive into the docs to find out more.
The tutorial only uses what’s provided by Flask and Python. In another
project, you might decide to use <aclass="reference internal"href="../extensions.html"><spanclass="doc">Extensions</span></a> or other libraries
to make some tasks simpler.</p>
<imgalt="screenshot of login page"class="screenshot align-center"src="../_images/flaskr_login.png"/>
<p>Flask is flexible. It doesn’t require you to use any particular project
or code layout. However, when first starting, it’s helpful to use a more
structured approach. This means that the tutorial will require a bit of
boilerplate up front, but it’s done to avoid many common pitfalls that
new developers encounter, and it creates a project that’s easy to expand
on. Once you become more comfortable with Flask, you can step out of
this structure and take full advantage of Flask’s flexibility.</p>
<imgalt="screenshot of edit page"class="screenshot align-center"src="../_images/flaskr_edit.png"/>
<p><aclass="reference external"href="https://github.com/pallets/flask/tree/main/examples/tutorial">The tutorial project is available as an example in the Flask
repository</a>, if you want to compare your project
with the final product as you follow the tutorial.</p>
<p>Continue to <aclass="reference internal"href="layout.html"><spanclass="doc">Project Layout</span></a>.</p>