Code Monkey home page Code Monkey logo

tutorial-flask's Introduction

Tutorial de Flask

Este tutorial tiene como objetivo desarrollar un mini blog usando el framework web Flask, el cuál está basado en Python.

Durante las diferentes lecciones se verá todo aquello que, personalmente, considero que hay que tener en cuenta a la hora de desarrollar una aplicación web (cualquier aplicación web, no solo en Flask). Por tanto, se repasarán aspectos esenciales como gestión de usuarios, control de errores, trazas de log, seguridad, test o arquitectura.

Puedes seguir el tutorial en https://j2logo.com/tutorial-flask-espanol/

Funcionalidades del miniblog

El miniblog a desarrollar tendrá las siguientes características:

  • Existirán dos tipos de usuario: administradores e invitados.
  • Un usuario administrador puede añadir, modificar y eliminar entradas del blog.
  • Los usuarios invitados pueden registrarse en el blog para comentar las diferentes entradas.
  • Un usuario administrador puede listar y eliminar usuarios, además de poder asignarles el rol de administrador.

Lecciones del tutorial

  • Lección 1: La primera aplicación Flask
  • Lección 2: Uso de plantillas para las páginas HTML
  • Lección 3: Uso de formularios en Flask
  • Lección 4: Gestión de usuarios: Registro y Login
  • Lección 5: Añadiendo una base de datos: SQLAlchemy
  • Lección 6: Estructura de un proyecto con Flask: blueprints
  • Lección 7: Parámetros de configuración de un proyecto Flask
  • Lección 8: Gestión de errores
  • Lección 9: Logs en Flask
  • Lección 10: Añadiendo seguridad en las vistas
  • Lección 11: Actualizar la base de datos SQLAlchemy
  • Lección 12: Test con Flask
  • Lección 13: Paginar las consultas de base de datos
  • Lección 14: Enviar emails con Flask
  • Lección 15: Trabajar con Fechas en Flask
  • Lección 16: Procesar ficheros en Flask
  • Lección 17: Desplegar una aplicación Flask en un entorno de producción

Descarga e instalación del proyecto

Para descargar el proyecto puedes clonar el repositorio:

git clone https://github.com/j2logo/tutorial-flask.git

Cada una de las lecciones se corresponde con una hoja del repositorio. El nombre de las hojas es "leccionXX".

Si quieres descargar una lección en concreto, ejecuta el siguiente comando git:

git checkout tags/<leccionXX> -b <nombre-de-tu-rama>

Por ejemplo:

git checkout tags/leccion1 -b leccion1

Variables de entorno

Para que el miniblog funcione debes crear las siguientes variables de entorno:

Linux/Mac

export FLASK_APP="entrypoint"
export FLASK_ENV="development"
export APP_SETTINGS_MODULE="config.local"

Windows

set "FLASK_APP=entrypoint"
set "FLASK_ENV=development"
set "APP_SETTINGS_MODULE=config.local"

Mi recomendación para las pruebas es que añadas esas variables en el fichero "activate" o "activate.bat" si estás usando virtualenv

Instalación de dependencias

En el proyecto se distribuye un fichero (requirements.txt) con todas las dependencias. Para instalarlas basta con ejectuar:

pip install -r requirements.txt

Ejecución con el servidor que trae Flask

Una vez que hayas descargado el proyecto, creado las variables de entorno e instalado las dependencias, puedes arrancar el proyecto ejecutando:

flask run

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.