Я добавил несколько пользовательских кнопок в файл change_form.html администратора Django.Однако я хочу скрыть эти кнопки для конкретного пользователя.
<!-- change_form.html -->
{% extends "admin/change_form.html" %}
{% block submit_buttons_bottom %}
{{ block.super }}
<div class="my-submit-row">
<input type="submit" value="Save as draft" name="_drafted" class="btn btn-lg btn-success">
</div>
{% endblock %}
Как показано в приведенном ниже коде, я могу скрыть кнопки «сохранить» и «сохранить_и_континуум», которые являются встроенными кнопками, сделать их только для суперпользователя.
У кого-нибудь есть опыт или предложения по этому поводу?
# admin.py
class MyAdmin(admin.ModelAdmin, ExportCsvMixin):
...
def change_view(self, request, object_id, extra_context=None):
if not request.user.is_superuser:
extra_context = extra_context or {}
extra_context['show_save_and_continue'] = False
extra_context['show_save'] = False
return super(MyAdmin, self).change_view(request, object_id, extra_context=extra_context)