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.3.tar.gz
(9.4 kB
view hashes)
Built Distribution
Close
Hashes for django_role-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf339b65bdebeec1f753f05db9b240775268549475462777b84181d6419994c4 |
|
MD5 | e8ab2ede9a2273a457ee2d6325ae5839 |
|
BLAKE2b-256 | 347bbf738b9b3285a352bf742533a9dbb6336d758102ed125f526f9e2fb3a5d5 |