3 горизонтальные линии, бургер
3 горизонтальные линии, бургер

3 горизонтальные линии, бургер
Удалить все
ЗАГРУЗКА ...

Джанго мидлвари для управления донатными ссылками от BTCPay

Часы
13.03.2026
/
Часы
16.03.2026
/
Иконка типа приложения
Джанго приложение
Глазик
70
Сердечки
0
Соединённые точки
0
Соединённые точки
0
Соединённые точки
0

Тип Django приложения:
Мидлвари

Примеры

Описание

Данное приложение помогает управлять всеми донатными ссылками сгенерированными на собственном биткойн узле, на основе BTCPay Server. Минимальные требования к установке, управление через записи в базах данных и лёгкое размещение на сайте.
django-btcpay-donation это Джанго приложение созданное для того, чтобы легко следить и управлять созданными ссылками на BTCPay сервере для использования в качестве посредника создания инвойсов. Оно позволяет централизованно хранить все созданные тобой ссылки, группировать их по локациям на сайте и переключаться между этими группами используя стандартную админку от Django.
Все ID локаций, которые я пишу, я пишу в верхнем регистре, но это не имеет значения, ведь можно писать их хоть в нижнем, хоть в верблюжем регистре.

Особенности

  1. Менеджмент УРЛ-ами. Сохраняет и автоматически форматирует BTCPay ссыли на инвойсы, переписывая доменное имя и ИД магазина, через настройку в settings.py
  2. Группировка локаций. Привязывает донатные ссылки к конкретным разделам вашего сайта (например, «SIDEBAR», «FOOTER»).
  3. Гибкость конфигурирования. Создавате наборы адресов ссылок и переключайте конфигурации одним щелчком мыши.
  4. Автоматическое внедрение контекста. Особый мидлвари предоставляет вашим шаблонам активные донатные ссылки без ручного обновления представлений.

Установка и настройка

Устанавливаем пакет через pip:
pip install django-btcpay-donation
Дальше тебе нужно обновить файл settings.py, и добавить новоустановленное приложение в INSTALLED_APPS:
INSTALLED_APPS = [     ...,     'django_btcpay_donation.apps.BtcpaydonationConfig',     ..., ]
Так же нужно подключить кастомный мидлвари в MIDDLEWARE для активации автоматической вставки контекстных переменных в шаблон:
 MIDDLEWARE = [     ...,     'django_btcpay_donation.middleware.BTCPayDonationMiddleware',     ..., ]
Вы также можете задать глобальные параметры для вашего сервера BTCPay. Если они заданы, приложение автоматически заменит домен и идентификатор магазина во всех сохраненных ссылках, чтобы они соответствовали этим значениям:
# The domain of your BTCPay Server BTCPAY_DOMAIN = "https://btc-node.of.by" # Your specific Store ID BTCPAY_STORE_ID = "YourStoreID"
Осталось только произветси миграцю базы данных:
python manage.py makemigrations python manage.py migrate

Использование

Настраиваем локации и контекст

Прежде всего, вам нужно выбрать и вставить фрагменты кода в структуру вашего веб-сайта. Это нужно сделать там, где вы хотите видеть кнопку для пожертвований. Важно отметить, что этот пакет не предоставляет никаких шаблонов по умолчанию для отображения кнопок, поэтому вам нужно создать свой собственный.
А затем использовать его следующим образом:
{% if isBTCPayDonationMiddlewareConnected %}   {% for location in donation_link_locations %}     {% if location.linklocation_name == "FOOTER" %}       <a href="">         Donate       </a>     {% endif %}   {% endfor %} {% endif %}
Обратите внимание, что "FOOTER" — это всего лишь название, указывающее на местоположение этой кнопки. Вы можете ввести любое название по своему усмотрению.
Или, если вы хотите добавить резервный вариант по умолчанию, если местоположение не указано:
{% load checkLocation %} {% if isBTCPayDonationMiddlewareConnected %} {% with location=donation_link_locations|checkLocation:"MAIN-ABOVE-THE-FOLD" %} {% if location %} <a href=""> {% trans "Или поддержать проект" %}> </a> {% else %} <a href="/ru/"> {% trans "Или вернуться на главную" %} </a> {% endif %} {% endwith %} {% else %}
И не забудьте загрузить шаблонный тег checkLocation, поставляемый с пакетом.
Давайте обсудим последовательность добавления новых кнопок пожертвований в ваше приложение Django. Прежде всего, всегда проверяйте, подключена ли мидлвари, то есть isBTCPayDonationMiddlewareConnected. Затем используйте автоматически добавляемый в контекст шаблона donation_link_locations.
При переборе с помощью тега for или шаблонного тега checkLocation, это не имеет значения, вы получите объект location с двумя свойствами:
  1. link - фактическая сохраненная ссылка
  2. linklocation_name - имя местоположения для проверки

Настройка записей и модели

Теперь, когда у вас настроены все необходимые локации, вам нужно создать конфигурационные ссылки и указать их местоположение. Для этого войдите в панель администратора и выполните следующие действия:
  1. BTCPayDonationLink: Добавьте URL-адреса ваших счетов BTCPay.
  2. BTCPayDonationLinkLocation: Назначьте ссылки на определенные именованные местоположения (например, FOOTER).
  3. BTCPayDonationConfiguration: Создайте именованную группу местоположений. А также выберите созданные местоположения.
  4. BTCPayDonationCurrentConfiguration: Выберите, какая конфигурация в данный момент активна на сайте.
Все настроено, и вы должны увидеть немедленный результат, то есть ссылки для пожертвований, указывающие на счета.

Логика URL

При сохранении ссылки BTCPayDonationLink приложение анализирует URL:
  1. Заменяет хост на BTCPAY_DOMAIN, если это настроено.
  2. Обновляет параметр запроса storeId на BTCPAY_STORE_ID, если это настроено.
Это гарантирует, что даже если вы перенесете свой сервер BTCPay или смените магазин, вам нужно будет обновить только файл settings.py.

Похожие инструменты

Django приложение для управления рекламных блоков от РСЯ

Дата создания
09.10.2025
/
Дата последнего обновления
08.03.2026
/
Иконка типа приложения
Джанго приложение
Глазик
280
Сердечки
0
Соединённые точки
0
Соединённые точки
0
Соединённые точки
0
Полное руководство по установке и настройке Django-приложения для управления рекламными блоками Яндекса. Узнайте, как интегрировать баннеры, полноэкранную рекламу, карусели и другие форматы с таргетингом по платформам, пагинацией и гибкими настройками. Подробные примеры кода, настройка шаблонов и лучшие практики для эффективного монетизации вашего сайта.

Хлебные крошки(breadcrumbs) для Django сайта

Дата создания
27.04.2025
/
Дата последнего обновления
12.02.2026
/
Иконка типа приложения
Джанго приложение
Глазик
546
Сердечки
0
Соединённые точки
0
Соединённые точки
0
Соединённые точки
0
Это Django-приложение, которое генерирует "Хлебные крошки"(breadcrumbs) той страницы, на которой оно установленно. Из-за особенности устройства Django-фреймворка, вся генерация происходит на сервере, то есть SSR-метод рендеринга.

Генератор содержания(индекса) статьи для Django сайта

Дата создания
25.04.2025
/
Дата последнего обновления
12.02.2026
/
Иконка типа приложения
Джанго приложение
Глазик
370
Сердечки
0
Соединённые точки
0
Соединённые точки
0
Соединённые точки
0
Это инструмент представляет собой Django-приложение, которое генерирует "Содержание" той страницы, на которой оно установленно. Из-за особенности устройства Django-фреймворка, вся генерация происходит на сервере, то есть SSR-метод рендеринга. Так же данное приложение создаёт анкорные ссылки на собранные главы, при наличии атрибута id у последних.

Не забудь поделиться, лайкнуть и оставить комментарий)

Отзывы

(0)

captcha
Отправить
ЗАГРУЗКА ...
Сейчас тут пусто. Буть первым (o゚v゚)ノ