Diseño del proyecto

Cree un directorio de proyecto y entre en él:

$ mkdir flask-tutorial
$ cd flask-tutorial

A continuación, sigue las instrucciones de instalación para configurar un entorno virtual de Python e instalar Flask para tu proyecto.

El tutorial asumirá que estás trabajando desde el directorio flask-tutorial a partir de ahora. Los nombres de los archivos en la parte superior de cada bloque de código son relativos a este directorio.


Una aplicación Flask puede ser tan simple como un solo archivo.

hello.py
from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello():
    return 'Hello, World!'

Sin embargo, a medida que un proyecto se hace más grande, se vuelve abrumador mantener todo el código en un solo archivo. Los proyectos de Python utilizan paquetes para organizar el código en múltiples módulos que pueden ser importados cuando sea necesario, y el tutorial también lo hará.

El directorio del proyecto contendrá:

  • flaskr/, un paquete de Python que contiene el código y los archivos de tu aplicación.

  • tests/, un directorio que contiene módulos de prueba.

  • venv/, un entorno virtual de Python donde se instalan Flask y otras dependencias.

  • Archivos de instalación que indican a Python cómo instalar tu proyecto.

  • Configuración del control de versiones, como git. Deberías tener el hábito de usar algún tipo de control de versiones para todos tus proyectos, sin importar el tamaño.

  • Cualquier otro archivo del proyecto que puedas añadir en el futuro.

Al final, el diseño de tu proyecto tendrá este aspecto:

/home/user/Projects/flask-tutorial
├── flaskr/
│   ├── __init__.py
│   ├── db.py
│   ├── schema.sql
│   ├── auth.py
│   ├── blog.py
│   ├── templates/
│   │   ├── base.html
│   │   ├── auth/
│   │   │   ├── login.html
│   │   │   └── register.html
│   │   └── blog/
│   │       ├── create.html
│   │       ├── index.html
│   │       └── update.html
│   └── static/
│       └── style.css
├── tests/
│   ├── conftest.py
│   ├── data.sql
│   ├── test_factory.py
│   ├── test_db.py
│   ├── test_auth.py
│   └── test_blog.py
├── venv/
├── setup.py
└── MANIFEST.in

Si está utilizando el control de versiones, los siguientes archivos que se generan mientras se ejecuta el proyecto deben ser ignorados. Puede haber otros archivos en función del editor que utilices. En general, ignora los archivos que no has escrito. Por ejemplo, con git:

.gitignore
venv/

*.pyc
__pycache__/

instance/

.pytest_cache/
.coverage
htmlcov/

dist/
build/
*.egg-info/

Continuar con Configuración de la aplicación.