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

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

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

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

Публикации

Истории

Работа

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

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

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн