🦄 Документация Django

Субпакет для работы с Django
Полная документация модулей для работы с Django в пакете Hrenpack. Включает вспомогательные классы, миксины и представления для ускорения разработки Django-приложений.
📄 __init__.py
Базовые классы и утилиты для работы с Django
Category
Простой класс для представления категорий
Атрибуты: name, slug
HrenpackDjangoError
Базовое исключение для пакета Django
MenuElement
Класс для представления элементов меню
Атрибуты: title, href
BooleanChoices
Класс для булевых выборов с преобразованием
view_dict(title: str, h1_title: NullStr = None, **kwargs)
Создает словарь контекста для представлений
boolean_choices(arg: IntegerChoices)
Преобразует IntegerChoices в BooleanChoices
semicolon_plus(model, del_id: bool = True)
Создает словарь с именами полей модели
get_view_app(view)
Получает имя приложения из представления
get_view_base_template(view)
Получает базовый шаблон для представления
add_url_GET(base_url: str, request=None, **params)
Добавляет GET-параметры к URL
url_or_reverse(url: str, lazy_mode: bool = True, **kwargs)
Возвращает URL или результат reverse/reverse_lazy
get_app_inclusion_namespace(app_name: str)
Получает пространство имен включения приложения
📝 forms.py
Кастомные формы для Django
PasswordChangeForm
Расширенная форма изменения пароля
Особенности: Поля необязательны для заполнения, кастомная валидация
🧩 mixins.py
Миксины для расширения функциональности представлений
DataMixin
Добавляет title и h1_title в контекст
Применение: Для несовместимых с View/TemplateView классов
NonAbstractMixin
Позволяет устанавливать атрибуты через as_view
Метод: as_view() с поддержкой title и h1_title
ModelManagerMixin
Добавляет поддержку кастомных менеджеров моделей
Атрибут: model_manager
SuccessURLMixin
Упрощает настройку URL перенаправления
Атрибут: success_url
UserAuthorizeMixin
Добавляет информацию об авторизации в контекст
Атрибут: authorize
TemplateViewMixin
Комбинирует ContextMixin и TemplateResponseMixin
👁️ views.py
Кастомные представления для Django
BaseView
Базовое представление с расширенным контекстом
Атрибуты: title, h1_title, dont_header, base_template_name
View
Комбинация BaseView и TemplateViewMixin
TemplateView
Расширенный TemplateView с поддержкой BaseView
ListView
Представление для отображения списка объектов
Атрибуты: model, context_name
DetailView
Представление для отображения деталей объекта
Особенность: Поддерживает ModelManagerMixin
FormView
Расширенный FormView с поддержкой BaseView
CreateView
Расширенный CreateView с поддержкой BaseView
UpdateView
Расширенный UpdateView с поддержкой ModelManagerMixin
RegistrationView
Представление для регистрации пользователей
Особенность: Автоматический вход после регистрации
StaticFileView
Представление для статических файлов
create_logout_view(template_name: str, title: str, h1_title: NullStr, dont_header: bool, **kwargs)
Создает функцию представления для выхода из системы

🎯 Основные возможности Django-пакета

Упрощенная работа с представлениями: Базовые классы с предустановленными настройками

Расширенный контекст: Автоматическое добавление title, h1_title и других метаданных

Гибкие миксины: Модульные компоненты для расширения функциональности

Кастомные формы: Специализированные формы для типовых задач

Утилиты для URL: Вспомогательные функции для работы с адресами и параметрами

Интеграция с настройками Django: Использование BASE_TEMPLATE и других параметров