Как стать автором
Обновить

Flask-DJ: Django (mvc) структура для проекта на flask

Время на прочтение2 мин
Количество просмотров7.1K

image


Всем привет!


Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта.


Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сделать инструмент, благодаря которому не придется задумываться об архитектуре, но при этом можно будет использовать все возможности Flask.


Установка


$ pip install Flask-DJ

Создание проекта


Создать проект можно либо с помощью консоли (для шаблонов и статических файлов используются флаги -t -st)


$ flask-dj startproject app

Либо можно создать файл setup.py
(для шаблонов и статических файлов используются флаги
need_templates=True, need_static=True).


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

В результате должна получится следующая структура
(static и templates появятся при указании соответствующих флагов)


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

Создание приложения


Приложением в данном случае называется модуль (элемент приложения).


Для создания необходимо прописать следующую команду (вместо 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 за полезные замечания

Теги:
Хабы:
Всего голосов 6: ↑6 и ↓0+6
Комментарии22

Публикации

Истории

Работа

Python разработчик
118 вакансий
Data Scientist
58 вакансий

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область