Здравствуйте! Помогите пожалуйста разобраться. У меня есть пару вопросов.
Есть форма редактирования пользовательских данных. В форму вывожу список прав пользователей (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>