欢迎访问宙启技术站
智能推送

Django.contrib.adminregister()方法的使用技巧总结

发布时间:2023-12-24 09:23:53

django.contrib.admin.register()方法是Django框架中用于注册模型类到管理界面的函数。它提供了一种简单的方式来创建管理界面,以便于对模型实例进行增删改查操作。下面是关于该方法的使用技巧总结,并附上相应的使用例子。

1. 在admin.py文件中注册模型类。

使用admin.register()方法,将模型类作为参数传递给它即可实现模型类的注册。例如,我们有一个名为Product的模型类,下面是具体的代码:

   from django.contrib import admin
   from .models import Product

   @admin.register(Product)
   class ProductAdmin(admin.ModelAdmin):
       pass
   

在这个例子中,我们导入了admin模块并注册了Product模型类。接下来,我们使用@admin.register(Product)装饰器将ProductAdmin类与Product模型类关联起来。

注意:为了使ProductAdmin类生效并应用到管理界面,我们需要在admin.register()装饰器中传递Product模型类作为参数。

2. 修改默认显示内容。

默认情况下,管理界面会显示模型实例的__str__()方法返回的内容。然而,我们可以根据需要自定义显示的信息。例如,下面的代码将显示Product模型实例的名称和价格:

   from django.contrib import admin
   from .models import Product

   @admin.register(Product)
   class ProductAdmin(admin.ModelAdmin):
       list_display = ('name', 'price')
   

在这个例子中,我们通过设置list_display属性来指定在管理界面中显示的字段。我们将nameprice字段包含在list_display元组中,以按照指定的顺序显示。

3. 启用搜索功能。

在管理界面中启用搜索功能可以让我们更方便地查找特定的模型实例。下面的例子演示了如何在管理界面中启用搜索功能,并指定需要搜索的字段:

   from django.contrib import admin
   from .models import Product

   @admin.register(Product)
   class ProductAdmin(admin.ModelAdmin):
       search_fields = ('name', 'description')
   

在这个例子中,我们通过设置search_fields属性来指定在搜索时要使用的字段。我们将namedescription字段包含在search_fields元组中,以便于根据它们来搜索模型实例。

4. 添加过滤器。

通过添加过滤器,我们可以在管理界面中筛选显示的模型实例。下面的例子展示了如何在管理界面中添加过滤器,并指定需要过滤的字段:

   from django.contrib import admin
   from .models import Product

   @admin.register(Product)
   class ProductAdmin(admin.ModelAdmin):
       list_filter = ('category', 'price')
   

在这个例子中,我们通过设置list_filter属性来指定要在管理界面中显示的过滤器。我们将categoryprice字段包含在list_filter元组中,以便于根据它们来过滤模型实例。

以上是关于django.contrib.admin.register()方法的使用技巧总结,并提供了相应的使用例子。这些技巧可以帮助我们更好地使用Django的管理界面,提高开发效率。