mirror of https://github.com/mitsuhiko/flask.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.3 KiB
55 lines
2.3 KiB
Foreword |
|
======== |
|
|
|
Read this before you get started with Flask. This hopefully answers some |
|
questions about the purpose and goals of the project, and when you |
|
should or should not be using it. |
|
|
|
What does "micro" mean? |
|
----------------------- |
|
|
|
“Micro” does not mean that your whole web application has to fit into |
|
a single Python file (although it certainly can). Nor does it mean |
|
that Flask is lacking in functionality. The "micro" in microframework |
|
means Flask aims to keep the core simple but extensible. Flask won't make |
|
many decisions for you, such as what database to use. Those decisions that |
|
it does make, such as what templating engine to use, are easy to change. |
|
Everything else is up to you, so that Flask can be everything you need |
|
and nothing you don't. |
|
|
|
By default, Flask does not include a database abstraction layer, form |
|
validation or anything else where different libraries already exist that can |
|
handle that. Instead, FLask extensions add such functionality to your |
|
application as if it was implemented in Flask itself. Numerous extensions |
|
provide database integration, form validation, upload handling, various open |
|
authentication technologies, and more. Flask may be "micro", but the |
|
possibilities are endless. |
|
|
|
Convention over Configuration |
|
----------------------------- |
|
|
|
Flask is based on convention over configuration, which means that many things |
|
are preconfigured. For example, by convention templates and static files are |
|
stored in subdirectories within the application's Python source tree. While |
|
this can be changed you usually don't have to. We want to minimize the time |
|
you need to spend in order to get up and running, without assuming things |
|
about your needs. |
|
|
|
Growing Up |
|
---------- |
|
|
|
Since Flask is based on a very solid foundation there is not a lot of code in |
|
Flask itself. As such it's easy to adapt even for large applications and we |
|
are making sure that you can either configure it as much as possible by |
|
subclassing things or by forking the entire codebase. If you are interested |
|
in that, check out the :ref:`becomingbig` chapter. |
|
|
|
If you are curious about the Flask design principles, head over to the section |
|
about :ref:`design`. |
|
|
|
For the Stalwart and Wizened... |
|
------------------------------- |
|
|
|
If you're more curious about the minutiae of Flask's implementation, and |
|
whether its structure is right for your needs, read the |
|
:ref:`advanced_foreword`.
|
|
|