
Olá a todos!
Quando me deparei com o Flask, imediatamente tive uma pergunta sobre a construção de uma arquitetura de projeto.
Depois de ler alguns artigos sobre Habré ( https://habr.com/en/post/275099/ e https://habr.com/en/post/421887/ ), lembrei-me da minha experiência na criação de projetos no Django e decidi fazer uma ferramenta graças ao qual você não precisa pensar em arquitetura, mas ao mesmo tempo pode usar todos os recursos do Flask.
Instalação
$ pip install Flask-DJ
Criação de projeto
Você pode criar um projeto usando o console (os sinalizadores -t -st são usados para modelos e arquivos estáticos)
$ flask-dj startproject app
Ou você pode criar o arquivo setup.py
(os sinalizadores
need_templates = True, need_static = True são usados para modelos e arquivos estáticos ).
from flask_dj import startproject
from os import getcwd
your_project_name = 'app'
project_dir = getcwd()
startproject(your_project_name, project_dir)
O resultado deve ser a seguinte estrutura
(estática e modelos aparecerão quando os sinalizadores correspondentes forem especificados)
app/
app/
__init__.py
config.py
urls.py
manage.py
Criação de aplicativo
( ).
( 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