Проверьте разрешение внутри шаблона в Django
могу ли я использовать проверку разрешений приложения Auth внутри шаблона в Django? (Я хочу отобразить простую форму в конце шаблона для привилегированных пользователей)
и что еще более важно, я должен сделать это вообще или это не "путь Джанго"?
2 ответа:
Если вы хотите проверить наличие разрешений в шаблонах, достаточно следующего кода:
{% if perms.app_label.can_do_something %} <form here> {% endif %}
где модель относится к модели, для которой пользователю нужны разрешения для просмотра формы.
см.https://docs.djangoproject.com/en/stable/topics/auth/default/#permissions для получения дополнительных примеров.
разрешения текущего вошедшего пользователя хранятся в переменной шаблона
{{ perms }}
(эта требуется включить следующий контекстный процессор:
django.contrib.auth.context_processors.auth
)
Если вам нужно больше детализации в проверке завивки (на конкретном объекте, например), проверьте это расширение:http://django-authority.readthedocs.org/en/latest/check_templates/