Всем доброго времени года!
После ударных месяцев поддержки разных API и мелких сайтиков на Flask/Bottle/Sanic, знакомые подкинули нулевой проект на Django 1.11.x (причём буквально «нулевой»: создано пару моделей, разделены настройки по окружениям, прописаны начальные тесты и тому подобное). С Джангой я знаком только с бородатой 1.6 версией (потом затянуло в пучину Laravel), и ничего серьёзней «Hello World» на нём не делал, а поучаствовать в проекте есть желание (в том числе, чтобы узнать Django по-лучше) :(
[лирика]
Тема проекта: сайт-блог для владельцев собачек-кошечек-хомяков-etc, с пожертвованиями на лечение животных из приютов Петербурга (да-да, пора бы уже плюс в карму сделать, проект нон-профит). Соответственно, должен быть личный кабинет, где все эти транзакции пишутся, ибо планируется подключение онлайн кассы с ОФД (чтобы не нарушать 54-ФЗ). Зачем? Ну вообще закон надо соблюдать, да и потом отчитываться в налоговой, говорят, проще будет (сбор средств для животинок, а не своей наживы — всё по белому должно быть). [/лирика]
Итак, сам вопрос. Есть ли какие-либо проверенные и рабочие
best practies для осуществления вот такой системы:
- Есть стандартный суперпользователь + модераторы сайта (модель
User
, которая из коробки);
- Есть модель для пользователей-меценатов
CustomUser
(с полями для личной инфы, телефона, etc);
- Эти две модели не должны пересекаться, то есть наследоваться или работать через
proxy
(две разных таблицы БД);
- Должна быть и стандартная авторизация для модели
User
, и отдельная — для модели CustomUser
;
- Только модель
CustomUser
видна в публичной части сайта (аля «больше всех в этом месяце помог [...], прислав [...]»;
- У
CustomUser
должен быть (приватный) личный кабинет (вне админки), со всеми транзакциями и редактированием;
[ремарка]
Сама модель CustomUser — это что-то типа «покупатель пожертвования» (жесть, но по-другому не могу объяснить). То есть, планируется делать некие фиксированные «бандлы» с фирменными безделушками от партнёров (типа «1000 руб. = магнитик», «5000 руб. = футболочка» и так далее), чтобы нельзя было жертвовать произвольную сумму + что-то осталось на память :) [/ремарка]
Собственно, буду рад толковым комментариям и предложениям! Заранее спасибо.
P.S. я понимаю, что никто не даст тут «готового кода на блюдечке», но алгоритм построения такой системы — уже хлеб :D