@nurzhannogerbek

Настройка прав пользователей в Django приложении?

Здравствуйте! Помогите пожалуйста разобраться. У меня есть пару вопросов.

Есть форма редактирования пользовательских данных. В форму вывожу список прав пользователей (user_permissions) в виде списка с чекбоксами.

Вопрос:

1) На данный момент в списке выводятся к примеру такой формат: auth | user | Can add user. Хочу вывести лишь человекочитаемое описание (Can add user). Изучил таблицу AUTH_PERMISSION, где хранится информация о правах пользователей. Записи хранятся в поле name. Пробовал в шаблоне указать {{ user_permission.name }}, но результата это не дало. Что я делаю не так?

2) Как при открытии формы редактирования отметить те права, те чекбоксы, которыми владеет пользователь? На данный момент при открытии формы, все чекбоксы неотмеченные, хотя пользователь к примеру администратор (is_superuser=True).

forms.py:
class UserEditForm(UserChangeForm):
    class Meta:
        model = User
        exclude = ('groups',)

    user_permissions = forms.ModelMultipleChoiceField(
        Permission.objects.filter(content_type__model__in=['custom_app', 'user']),
        widget=forms.CheckboxSelectMultiple,
    )


template:
<div class="list-group">
{% for user_permission in user_edit_form.user_permissions %}
    <li class="list-group-item">
        <div class="custom-checkbox">
            <label for="{{ user_permission.id_for_label }}">
                {{ user_permission.tag }}
                <span class="cr"><i class="cr-icon glyphicon glyphicon-ok"></i></span>
                <strong>{{ user_permission }}</strong>
            </label>
        </div>
    </li>
{% endfor %}
</div>
  • Вопрос задан
  • 216 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:47
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект