Flask-DJ: Structure Django (mvc) pour un projet sur flask

image


Bonjour à tous!


Lorsque j'ai rencontré Flask pour la première fois, j'ai immédiatement posé une question sur la construction d'une architecture de projet.


Après avoir lu quelques articles sur Habré ( https://habr.com/en/post/275099/ et https://habr.com/en/post/421887/ ), je me suis souvenu de mon expérience dans la création de projets sur Django, et j'ai décidé de faire un outil grâce à laquelle vous n'avez pas à penser à l'architecture, mais en même temps, vous pouvez utiliser toutes les fonctionnalités de Flask.


Installation


$ pip install Flask-DJ

Création de projet


Vous pouvez créer un projet à l'aide de la console (les indicateurs -t -st sont utilisés pour les modèles et les fichiers statiques)


$ flask-dj startproject app

Ou vous pouvez créer le fichier setup.py
(les indicateurs
need_templates = True, need_static = True sont utilisés pour les modèles et les fichiers statiques ).


from flask_dj import startproject
from os import getcwd
your_project_name = 'app'
project_dir = getcwd()
startproject(your_project_name, project_dir)

Le résultat devrait être la structure suivante
(statique et les modèles apparaîtront lorsque les drapeaux correspondants seront spécifiés)


app/
    app/
        __init__.py
        config.py
        urls.py
    manage.py

Création d'application


( ).


( 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, :


# index/views.py
def index():
    return "Hello world"

URL


index:


# index/urls.py
from utils.urls import relative_path
from .views import index

urlpatterns = [
    relative_path("", index),
]

:


# app/urls.py
from utils.urls import add_relative_path, include

urlpatterns = [
    add_relative_path("/", include("index.urls")),
]


$  python manage.py runserver

,


image


P.S.


.


, :



Upd1 buriy


All Articles