Je veux juste ajouter la date d'abonnement dans la liste des utilisateurs du site d'administration de Django CRUD. Comment puis-je faire cela?Comment personnaliser la page d'administration de auth.User dans Django CRUD?
Merci pour votre aide
Je veux juste ajouter la date d'abonnement dans la liste des utilisateurs du site d'administration de Django CRUD. Comment puis-je faire cela?Comment personnaliser la page d'administration de auth.User dans Django CRUD?
Merci pour votre aide
j'ai finalement fait comme ça dans mon fichier admin.py:
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
UserAdmin.list_display = ('email', 'first_name', 'last_name', 'is_active', 'date_joined', 'is_staff')
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
Si l'on suppose que votre classe d'utilisateur est User
et votre champ de date d'abonnement est , voici ce que vous devez ajouter sur votre admin.py
class UserAdmin(admin.ModelAdmin):
list_display = ('subscription_date',)
admin.site.register(User, UserAdmin)
Cela peut fonctionne même avec le auth.User de buildin? – Natim
Cela doit hériter de l'UserAdmin intégré, sinon vous perdez tout le reste des personnalisations. Et vous devez également désinscrire l'enregistrement intégré; La réponse de Natim a le bon code. –
Une autre façon de procéder consiste à étendre la classe UserAdmin.
Vous pouvez également créer une fonction pour mettre sur list_display
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
class CustomUserAdmin(UserAdmin):
def __init__(self, *args, **kwargs):
super(UserAdmin,self).__init__(*args, **kwargs)
UserAdmin.list_display = list(UserAdmin.list_display) + ['date_joined', 'some_function']
# Function to count objects of each user from another Model (where user is FK)
def some_function(self, obj):
return obj.another_model_set.count()
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
Puis-je également faire ce qui suit (sans '__init__'), ou y a-t-il un problème? ? 'class CustomUserAdmin (UserAdmin): list_display = liste (UserAdmin.list_display) + ['date_joined']' – jdm
Nous pouvons également étendre UserAdmin au lieu de le modifier dynamiquement! – Natim
Pour plus de clarté, cela doit être ajouté au fichier admin.py de niveau supérieur de votre site. –
Puis-je vous demander ce que vous entendez par niveau supérieur? –