当我们在使用Django开发Web应用时,会使用到Django admin作为管理后台。但是Django admin默认情况下只显示了一些基本字段,有时我们需要定制显示哪些字段以及字段的顺序,本文将为你详细讲解Django admin后管定制-显示字段的实例。
Django admin显示字段默认值
首先,我们需要了解在Django admin中,每个Model都默认有一些字段会被显示,例如:
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'content', 'pub_time')
在这段代码中,我们将MyModel
注册到了admin
,并且定义了一个MyModelAdmin
类来定制这个Model在Django admin中的页面展现。其中,list_display
是用来定义展示字段的。在这里,我们定义了展示id
、title
、content
、pub_time
四个字段。这四个字段将会依照顺序显示在我们注册的MyModel
的管理后台的页面列表中。
Django admin显示字段定制
但是有时,这些默认的展示字段并不能满足我们的需求,例如有的Model我们不想展示所有字段,或者需要重新定义字段的展示顺序。那么我们应该如何实现这些定制化操作呢?
1. 隐藏字段
有时候我们并不需要展示所有的字段,例如我们有一个MyModel
实例包含如下字段:id、title、content、pub_time、update_time、is_published、views
。但是我们只希望在Django admin中展示id、title、is_published、views
四个字段。那么我们可以在MyModelAdmin
中定义如下代码:
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'is_published', 'views')
这样在Django admin中,我们就只会看到id、title、is_published、views
四个字段。content
和pub_time
都被隐藏掉了。
2. 改变字段的顺序
还有时候,我们需要改变字段在Django admin中展示的顺序。例如我们有一个MyModel
实例包含如下字段:id、title、content、pub_time、update_time、is_published、views
。但是我们希望在Django admin中将is_published
和views
字段位置调换。那么我们可以在MyModelAdmin
中定义如下代码:
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'views', 'is_published')
这样在Django admin中,我们会先看到id、title、views、is_published
四个字段。update_time
和content
的位置不变,但是pub_time
被隐藏起来了。
通过上面两个示例,我们可以看到如何使用list_display
属性对Django admin的页面进行定制化。除了list_display
,还有很多其他的属性可以用来进行定制化设置。希望以上内容对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django admin后管定制-显示字段的实例 - Python技术站