Как проверить в шаблоне Django, имеет ли пользователь право на удаление?
Я хочу проверить, есть ли у пользователя разрешение на удаление объекта в шаблоне. Если у пользователя есть разрешение, я отображаю или включаю кнопку. Разрешения даются для каждой группы. Как я могу реализовать это в шаблоне Django?
{% if ... %}
<button><a href="/delete">Delete</a></button>
{% endif %}
Разрешения пользователя хранятся в переменной perms
, как указано в документации . Таким образом, вы можете проверить, есть ли у пользователя разрешение на удаление модели с помощью:
{% if perms.app_name.delete_model_name %} … {% endif %}
с app_name
и modelname
именем приложения и модели соответственно.
Note: It is advisable to make use of the
{% url … %}
template tag [Django-doc] where the URL is resolved based on the name of a view instead of hardcoding URLs in the template.