Django. Изменение статуса аккаунта( типо покупка подписки и ограничение бесплатной подписки)
Подскажите, где я могу почитать более свежую инфу про ограничения для пользователей, покупку подписки и все в таком духе. Как мне ограничить доступ к чему-то. Например бесплатный пользователь может создать только 10 постов, а премиум пользователь уже сколько захочет. Подскажите пожалуйста где найти инфу по этому.
Ответы (2 шт):
Создайте группы для каждого уровня доступа
В зависимости от прав (в т.ч. и созданных вами) разрешаете/запрещаете функционал/контент.
Группы и права назначаются пользователям. Почитайте больше на эту тему в официальной документации, разделы о пользователях и правах доступа, ссылки на последнее прикреплены
Ну во view можно делать проверки пользователей. К примеру через request.user - он хранит данные о текущем пользователе. Можно расширить модель User и добавить поле, к примеру поле premium(типа bool - True или False). Соответственно у премиум пользователей оно будет True. Ну и во view делать проверку (то есть если у текущего пользователя premium=True, то отобразить ему определенную страницу, если нет, то вернуть что-то другое). Для ограничения доступа к страницам можно использовать декораторы или миксины (в зависимости какой у вас view, функция или класс).Так же можно использовать группы .Можно проверять права пользователя через функции has_perm, has_perms, with_perm ит.д Подробнее можете почитать тут: https://djbook.ru/rel1.7/topics/auth/default.html#topic-authorization
P.S Не пугайтесь, что 1.7. Инфа там тоже подойдет. Ну или можете поискать ту же информацию в более свежой документации