Открытое решение на Django с гибкой панелью управления и простой интеграцией
Гибкая система
Настраиваемый интерфейс через JSON-конфигурации. Добавляйте только нужные элементы управления.
Настройте панель под свои нужды с помощью простого JSON
// Конфигурация панели для VPS сервера
{
"tabs": [
{
"id": "vps_stats",
"title": "Статистика VPS",
"cards": [
{
"title": "Использование CPU",
"card_type": "card_progress",
"size": 1,
"get_data": "{service.actions.get_cpu_usage}?service_id={service.id}",
"validation": "percent"
},
{
"title": "Использование RAM",
"card_type": "card_progress",
"size": 1,
"get_data": "{service.actions.get_ram_usage}?service_id={service.id}",
"validation": "percent"
},
{
"title": "Дисковое пространство",
"card_type": "card_progress",
"size": 1,
"get_data": "{service.actions.get_disk_usage}?service_id={service.id}",
"validation": "percent"
},
{
"title": "Сетевой трафик",
"card_type": "card_2vals",
"size": 2,
"get_data_1": "{service.actions.get_network_in}?service_id={service.id}",
"get_data_2": "{service.actions.get_network_out}?service_id={service.id}",
"validation": "bytes"
}
]
}
]
}
Пример работы с платежной системой в Django
# Пример работы с ЮKassa в Django
from yookassa import Configuration, Payment
from django.conf import settings
from decouple import config
# Настройка подключения
Configuration.configure(config("YK_ID", default=""), config("YK_KEY", default=""))
def create_payment(amount, description, user_id):
"""
Создание платежа в ЮKassa
:param amount: Сумма платежа
:param description: Описание платежа
:param user_id: ID пользователя для возврата
:return: URL для оплаты и статус
"""
try:
payment = Payment.create({
"amount": {
"value": f"{float(amount):.2f}",
"currency": "RUB"
},
"confirmation": {
"type": "redirect",
"return_url": f"{settings.BASE_URL}/payments/return?user_id={user_id}"
},
"description": description,
"capture": True,
"metadata": {
"user_id": user_id
}
})
return {
'payment_url': payment.confirmation.confirmation_url,
'status': payment.status,
'payment_id': payment.id
}
except Exception as e:
# Логирование ошибки
logger.error(f"Ошибка создания платежа: {e}")
raise
def check_payment(payment_id):
"""
Проверка статуса платежа
:param payment_id: ID платежа в ЮKassa
:return: Текущий статус платежа
"""
payment = Payment.find_one(payment_id)
return payment.status
Полная документация и примеры интеграции доступны на Gitea
Изучить документацию