Django.contrib.adminregister()方法的参数解析
方法register()用于在admin站点中注册模型。它接受以下参数:
1. model:要注册的模型。例如,如果我们有一个名为Book的模型类,则可以使用admin.site.register(Book)来注册它。
2. admin_class:自定义Admin类的实例,用于管理这个模型的后台。例如,创建一个自定义Admin类class BookAdmin(admin.ModelAdmin),然后使用admin.site.register(Book, BookAdmin)来注册模型和自定义的Admin类。
3. **options:任意数量的参数,用于配置Admin类。以下是一些常用的选项参数:
- list_display:指定Admin类的列表页面显示哪些字段。例如,list_display = ('title', 'author', 'publication_date')
- list_filter:指定Admin类的侧边栏过滤器。例如,list_filter = ('author', 'publication_date')
- search_fields:指定Admin类的搜索字段。例如,search_fields = ('title', 'author')
- list_per_page:指定每页显示的对象数量。例如,list_per_page = 20
以下是一个完整的例子,展示了如何使用register()方法来注册一个模型和自定义的Admin类:
from django.contrib import admin
from .models import Book
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'author', 'publication_date')
list_filter = ('author', 'publication_date')
search_fields = ('title', 'author')
list_per_page = 20
admin.site.register(Book, BookAdmin)
在上面的例子中,我们首先导入了admin模块和我们要注册的模型Book。然后,我们创建了一个自定义的Admin类BookAdmin,指定了要显示的字段、过滤器、搜索字段和每页显示的对象数量。最后,我们使用admin.site.register(Book, BookAdmin)来注册模型和自定义的Admin类。
