настроить форму модификации пользователя django Администратор сайта - PullRequest
0 голосов
/ 22 марта 2020

Когда вы создаете / изменяете пользователя с сайта администратора django, у вас есть этот интерфейс:

permissions form from the user interface dajngo admin

Мой проект довольно прост, потому что я У нас нет группы, и каждый пользователь может иметь суперпользователей. Вот почему я не хочу показывать параметр статуса суперпользователя, ни группы, ни права пользователя. Как замаскировать эти разделы этой формы и утверждать, что все сотрудники пользователей также являются суперпользователями.

Эта форма создается здесь: django / contrib / admin / templates / admin / change_form. html

и особенно в этой строке:

{% block field_sets %}
{% for fieldset in adminform %}
  {% include "admin/includes/fieldset.html" %}
{% endfor %}
{% endblock %}

Так что мне нужно изменить переменную adminform, но я не знаю как.

Любая помощь будет очень признательна.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 22 марта 2020

Вот как это сделать. В вашем файле admin.py определите нового пользователя-администратора, например, с нужными наборами полей:

from django.contrib import admin
from django.utils.translation import gettext, gettext_lazy as _

# Register your models here.
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User, Group

# Define a new User admin
class UserAdmin(UserAdmin):
    fieldsets = (
        (None, {'fields': ('username', 'password')}),
        (_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}),
        (_('Permissions'), {
            'fields': ('is_active', 'is_staff', 'is_superuser'),
        }),
        (_('Important dates'), {'fields': ('last_login', 'date_joined')}),
    )


# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)

# don't show groups
admin.site.unregister(Group)
0 голосов
/ 22 марта 2020

Я думаю, вам нужно изменить этот шаблон. Итак, вы посмотрите на

django / contrib / admin / templates / admin / auth / user /

Это должно содержать пару шаблонов для изменения пользователей.

Вы можете переопределить их, скопировав их в TEMPLATE_DIR / admin / auth и затем изменив их.

Кроме того, посмотрите @ django / contrib / admin / templates / admin / change_form. html

This это файл, который вы скопируете и измените (на TEMPLATE_DIR / admin / auth / user /), чтобы переопределить форму изменения для этой модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...