Как я встраиваю, редактируют django профиль пользователя в администраторском интерфейсе?

Если Вы хотите хранить дополнительную информацию о пользователе (django.contrib.auth.models. Пользователь) в Django можно использовать изящный AUTH_PROFILE_MODULE для включения модели "профиля". Каждый пользователь затем получает профиль. Это все описано здесь:

Теперь, скажем, я создал приложение, названное учетными записями с моделью под названием UserProfile, и зарегистрировал его как модель профиля для моих пользователей. Как я встраиваю редактирование профиля в администраторском интерфейсе для редактирования пользователей (или наоборот)?

19
задан André Laszlo 3 August 2010 в 20:55
поделиться

1 ответ

Оказывается, это довольно просто, если вы знаете, как это делать. Это мой myapp / accounts / admin.py:

from django.contrib import admin
from myapp.accounts.models import UserProfile
from django.contrib.auth.models import User

class UserProfileInline(admin.StackedInline):
    model = UserProfile
    max_num = 1
    can_delete = False

class AccountsUserAdmin(admin.UserAdmin):
    inlines = [UserProfileInline]

# unregister old user admin
admin.site.unregister(User)
# register new user admin that includes a UserProfile
admin.site.register(User, AccountsUserAdmin)

Класс admin.UserAdmin ModelAdmin по умолчанию для пользователей не зарегистрирован, и вместо него зарегистрирован новый, указывающий встроенный UserProfile . Просто подумал, что должен поделиться.

14
ответ дан 30 November 2019 в 02:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: