Aplicación Flask: Estructura de Carpetas y Archivos
Flask es un framework web ligero y flexible para Python que permite construir aplicaciones web rápidamente. Al desarrollar un proyecto de Flask, es importante organizar adecuadamente la estructura de carpetas y archivos para facilitar la gestión del proyecto y el mantenimiento a largo plazo.
Organización Básica
La estructura de carpetas y archivos de un proyecto de Flask puede variar dependiendo de las necesidades específicas del proyecto, pero suele seguir una organización básica. Un ejemplo de esta organización puede ser la siguiente:
/mi_proyecto /app /static /templates __init__.py models.py views.py config.py requirements.txt run.py
Explicación de la estructura
- /app: esta carpeta contiene la lógica principal de la aplicación, como los archivos estáticos (imágenes, CSS, JavaScript) y las plantillas HTML.
- __init__.py: este archivo indica a Python que la carpeta app debe tratarse como un paquete.
- models.py: aquí se definen los modelos de datos de la aplicación utilizando un ORM (Object-Relational Mapping) como SQLAlchemy.
- views.py: en este archivo se definen las rutas y las funciones de vista de la aplicación.
- config.py: este archivo contiene la configuración de la aplicación, como claves secretas, URL de la base de datos, etc.
- requirements.txt: aquí se especifican las dependencias del proyecto, que pueden instalarse con el comando pip install -r requirements.txt.
- run.py: este archivo se utiliza para arrancar el servidor de desarrollo de Flask.
Conclusión
La estructura de carpetas y archivos presentada aquí es solo una de las posibles formas de organizar un proyecto de Flask. Es importante adaptar esta estructura a las necesidades específicas del proyecto, manteniendo en mente la modularidad y la escalabilidad.
🔴 * HOSTING RECOMENDADO *
Hostinger: https://www.hostinger.com/uskokrum2010
¡Usa el código USKOKRUM2010 para un buen descuento!
👨💻 Código Fuente: https://github.com/UskoKruM/flask-folders-structure
SÍGUEME ✅ !
** Curso Udemy Bases de datos con MySQL: http://bit.ly/2vtrUg9
** INSTAGRAM: http://instagram.com/uskokrum2010
** FACEBOOK: http://facebook.com/UskoKruM2010
** TWITTER: http://twitter.com/uskokrum2010
** SITIO WEB: http://uskokrum2010.com
** GITHUB: http://github.com/UskoKruM
** SUSCRÍBETE: http://youtube.com/uskokrum2010
🔴 ¿Quieres aprender y conversar sobre programación? Únete a nuestro grupo de Telegram ▶ : https://t.me/uskokrum2010_yt
Otros cursos GRATUITOS ✅ :
HTML: http://www.youtube.com/playlist?list=PL_wRgp7nihyZElF-6dkhPU_RetfSp99QN
PYTHON 3: https://www.youtube.com/playlist?list=PL_wRgp7nihybbJ2vZaVGI5TDdPaK_dFuC
DJANGO: https://www.youtube.com/playlist?list=PL_wRgp7nihyZsEnudJ-XUAEdnOGUojbnn
JAVA: http://www.youtube.com/playlist?list=PL_wRgp7nihyZ6hKPQcioxneVQ1aTuC4fS
SQL SERVER: http://www.youtube.com/playlist?list=PL_wRgp7nihyYXeXZhOiZqKpAdwIRM28Ui
C#: https://www.youtube.com/playlist?list=PL_wRgp7nihyYACu4RyZd0PxJUseQ2tQl8
PHP y MySQL: http://www.youtube.com/playlist?list=PL_wRgp7nihyYXMZ5bBP6v0Q31fRRJLiud
VISUAL BASIC .NET: http://www.youtube.com/playlist?list=PL_wRgp7nihybLjm19HvBxRDp-ZvyGEhdh
JAVASCRIPT: http://www.youtube.com/playlist?list=PL_wRgp7nihyYdnV6ilQcZsfdG5d2nGWkc
NODE.JS: https://www.youtube.com/playlist?list=PL_wRgp7nihybJkFgDxd-LBZgmSIVdy3rd
jQuery: https://www.youtube.com/playlist?list=PL_wRgp7nihyY020gyukDupJEJ84gimiPS
CÓMO EDITAR CON CAMTASIA STUDIO 8: https://www.youtube.com/playlist?list=PL_wRgp7nihyYSbQ7Vbwh5TFbM5nOgriAm
CÓMO USAR ZOOM PARA CLASES VIRTUALES: https://www.youtube.com/playlist?list=PL_wRgp7nihyaNTSqIvKvJtBA-6Qw-UKTU
Hola, de antemano muchas gracisa por compartir tu conocimiento se agradece bastante, solo una pregunta, no me queda claro porque utils no le olocas el init para "hacerlo paquete"?
Ya que usas model, view por qué no usas controller. A caso no lo recomienda o lo sustituye por service?
Buenisimos los tutoriales hermano, gracias.
dios mio, acabo de encontrarte y explicas re bien, ya he vistos unos 4 videos y te entiendo al 100% tqm, pd: +1 para tuto de git y github
Soy autodidacta en este mundo de la programacion y este tema no lo tengo muy claro. Estoy desarrollando un apo de escritorio con PyQt5 y apenas sí se que se debe crear la carpeta src y ya, pero no sé en realidad cómo se orginaza un proyecto de esa magnitud (digamos que es de tamaño mediano). Sabes dónde puedo encontrar dicha información. Incluyendo git y todo colo has mostrado? Gracias
Sublime. Mis dieses, caballero.
saludos, muy buen tutorial.
me gustaria que realizaras un tutorial de git
Gracias excelente, una consulta si creo los archivos de tipo html, donde se recomienda colocar. Saludos
Muy bien explicado ❤
Excelente video 👌📸
esta perfecto…me ayudo mucho…pero realice un cambio, la función verify_token la hice en un decorador y quedo de maravilla…muchas gracias!!!!
Buenísma la estructura aaunque recomendaría trabajar el entry point del proyecto como módulo, asi sería más fácil de escalar y solucionar problemas.
Una pregunta se puede programar en una tablet es que yo tengo una discapacidad Motriz apenas tengo 16 años y quiero empezar a aprender
una consulta, se puede hacer que flask documente como fastapi? no logro dar con la solución
Gracias señor.
muchas gracias por el tutorial, estos temas son importantes y son muy poco tratados
muchas gracias, justo luego de varias horas de un curso que he pagado de python, estoy por entrar a Flask, y quiero estar bien preparado para esto, muchas gracias!
Hola, que programa utilizar para hacer anotaciones por pantalla en tiempo real? Gracias
Crack perfectamente explicado, justo lo que andaba buscando