
¡Hola a todos!
Cuando me encontré por primera vez con Flask, inmediatamente tuve una pregunta sobre cómo construir una arquitectura de proyecto.
Después de leer un par de artículos sobre Habré ( https://habr.com/en/post/275099/ y https://habr.com/en/post/421887/ ), recordé mi experiencia en la creación de proyectos en Django y decidí hacer una herramienta gracias a lo cual no tiene que pensar en arquitectura, pero al mismo tiempo puede usar todas las funciones de Flask.
Instalación
$ pip install Flask-DJ
Creación de proyectos
Puede crear un proyecto usando la consola (los indicadores -t -st se usan para plantillas y archivos estáticos)
$ flask-dj startproject app
O puede crear el archivo setup.py
(los indicadores
need_templates = True, need_static = True se usan para plantillas y archivos estáticos ).
from flask_dj import startproject
from os import getcwd
your_project_name = 'app'
project_dir = getcwd()
startproject(your_project_name, project_dir)
El resultado debe ser la siguiente estructura
(la estática y las plantillas aparecerán cuando se especifiquen las banderas correspondientes)
app/
app/
__init__.py
config.py
urls.py
manage.py
Creación de aplicaciones
( ).
( index ).
$ python manage.py startapp index
:
app/
app/
__init__.py
config.py
urls.py
index/
forms.py
models.py
urls.py
views.py
manage.py
(view)
Hello world, :
def index():
return "Hello world"
URL
index:
from utils.urls import relative_path
from .views import index
urlpatterns = [
relative_path("", index),
]
:
from utils.urls import add_relative_path, include
urlpatterns = [
add_relative_path("/", include("index.urls")),
]
$ python manage.py runserver
,

P.S.
.
, :
Upd1 buriy