Tôi chỉ muốn thêm ngày đăng ký trong danh sách Người dùng trong trang web Quản trị CRUD của Django. Tôi có thể làm như thế nào?Làm cách nào để tùy chỉnh trang Quản trị viên người dùng trong Django CRUD?
Cảm ơn bạn đã giúp đỡ của bạn
Tôi chỉ muốn thêm ngày đăng ký trong danh sách Người dùng trong trang web Quản trị CRUD của Django. Tôi có thể làm như thế nào?Làm cách nào để tùy chỉnh trang Quản trị viên người dùng trong Django CRUD?
Cảm ơn bạn đã giúp đỡ của bạn
cuối cùng tôi đã làm như thế này trong tập tin admin.py tôi:
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)
Giả sử rằng lớp người sử dụng của bạn là User
và trường ngày đăng ký của bạn là , đây là những gì bạn cần phải thêm vào của bạn admin.py
class UserAdmin(admin.ModelAdmin):
list_display = ('subscription_date',)
admin.site.register(User, UserAdmin)
này có thể làm việc ngay cả với auth.User buildin? – Natim
Điều này sẽ được kế thừa từ UserAdmin được tích hợp sẵn, nếu không bạn sẽ mất tất cả các tùy chỉnh còn lại. Và bạn phải hủy đăng ký đăng ký tích hợp; Câu trả lời của Natim có mã đúng. –
Một cách khác để làm điều này là mở rộng các lớp UserAdmin.
Bạn cũng có thể tạo một hàm để đưa vào 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)
Tôi cũng có thể làm như sau (không có '__init__') hoặc có vấn đề với nó không ? 'class CustomUserAdmin (UserAdmin): list_display = list (UserAdmin.list_display) + ['date_joined']' – jdm
Chúng tôi cũng có thể mở rộng UserAdmin thay vì tự động sửa đổi nó! – Natim
Để làm rõ, điều này sẽ được thêm vào tệp admin.py cấp cao nhất của trang web của bạn. –
Tôi có thể hỏi ý bạn là gì bằng cấp cao nhất không? –