Role for django User model
Project description
django-role
Пакет включает в себя:
- Модель пользователя с ролью вместо групп
- Виджет для выбора прав
Роль в отличии от групп связана с моделю пользователя связью Один ко многим
Установка
pip install django-role
poetry add django-role
Использование модели пользователя
settings.py
AUTH_USER_MODEL = "user_role.User"
Использование виджета для выбора прав
settings.py
PERMISSIONS_LABELS = {
"add": "Добавление",
"change": "Изменение",
"view": "Просмотр",
"delete": "Удаление",
}
forms.py
from django import forms
from django.contrib.auth.models import Permission
from django.utils.translation import gettext_lazy as _
from user_role.models import Role
from user_role.widgets import PermissionsSelectMultiply
class RoleCreationForm(forms.ModelForm):
permissions = forms.ModelMultipleChoiceField(
label=_("Permissions"),
widget=PermissionsSelectMultiply(),
queryset=Permission.objects.all()
)
class Meta:
model = Role
fields = [
"name",
"permissions"
]
Группирование прав и настройка виджета
class MyPermissionsSelectMultiply(PermissionsSelectMultiply):
groups_permissions = {
"Безопасность": ["user_role.user", "user_role.role"]
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django_role-0.1.2.tar.gz
(9.4 kB
view hashes)
Built Distribution
Close
Hashes for django_role-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 506c7c3317a2eca50b0d2c6547c24bb2ba22bc2d7ac6981c9ab42afa5c9d9a99 |
|
MD5 | 68960dac0cc0693821c909f27db70d9d |
|
BLAKE2b-256 | eddc193ada2ba8dae434831545ba61ae652d10046b8cb5b1fdac35b6d2d193a3 |