Django Admin定制:显示模型字段详解
18 浏览量
更新于2024-08-28
收藏 175KB PDF 举报
"django admin后管定制-显示字段的实例"
在Django框架中,内置的admin后台管理系统是一个非常实用的功能,允许开发者快速地对数据库模型进行增删改查等操作。然而,当直接注册模型到admin后台时,系统默认只会显示每个记录的基本信息,如模型对象,这往往不够直观。本实例将教你如何定制Django admin,以便在列表视图中显示更丰富的字段信息,提高管理效率。
首先,需求是使admin界面更加友好,能够一眼看出每条记录的关键信息,而不仅仅是"model object"。要做到这一点,你需要在`admin.py`文件中创建一个自定义的`ModelAdmin`类,并指定`list_display`属性。例如,对于`Underwriter`模型,可以在`UnderwriterAdmin`类中设置`list_display`为('id', 'underwriter', 'shortname', 'telephone'),这样在admin列表视图中就会显示这些字段。
```python
from django.contrib import admin
from .models import Underwriter
class UnderwriterAdmin(admin.ModelAdmin):
list_display = ('id', 'underwriter', 'shortname', 'telephone')
list_display_links = ('id', 'underwriter')
admin.site.register(Underwriter, UnderwriterAdmin)
```
`list_display_links`属性则用于设置哪些字段可以被点击,进入编辑页面,默认是第一个字段,这里将其设置为'id'和'underwriter'。
在未进行自定义之前,admin界面显示`model object`是因为在模型类中没有定义`__unicode__`(在Python 3中为`__str__`)方法,这个方法决定了对象在被打印或显示时返回的信息。为了显示更有意义的字符串,需要在`Underwriter`模型中添加这个方法:
```python
class Underwriter(models.Model):
underwriter = models.CharField(max_length=50)
shortname = models.CharField(max_length=50)
telephone = models.CharField(max_length=50)
email = models.CharField(max_length=50, null=True, blank=True)
def __unicode__(self):
return self.underwriter
```
或在Python 3中:
```python
def __str__(self):
return self.underwriter
```
此外,Django还允许你自定义其他诸多功能,比如排序、过滤、搜索等,以满足更多复杂的管理需求。自定义用户表是另一个常见需求,当你需要扩展默认的User模型字段时,可以通过继承`AbstractBaseUser`和`PermissionsMixin`来创建自定义用户模型,然后配置AUTH_USER_MODEL设置,从而实现对用户表的完全控制。
Django admin的自定义功能强大且灵活,通过适当的配置,可以极大地提升后台管理体验,使得数据操作更加直观和便捷。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-03-02 上传
2022-03-18 上传
2018-06-04 上传
2019-05-09 上传
2010-06-06 上传
2021-06-22 上传
weixin_38650951
- 粉丝: 5
- 资源: 927
最新资源
- java-row-client:ROW的Java客户端
- ardunav:您可以使用 arduino 控制您的 unav
- 基于cubeMX的串口实验
- PyKaraoke-开源
- SSEHC:半监督可扩展评估完美启发式国际象棋
- privacy-preserving-ads:鹦鹉
- torch_spline_conv-1.2.1-cp38-cp38-linux_x86_64whl.zip
- eslint-plugin-tsvue-sample
- QuizApp
- GUI-Design:来自克拉克森课程的一些示例源代码
- 石灰的
- MobileComputing:移动计算分配的存储库
- they_are_poor:一个简单的Flutter应用程序,巩固了我对脚手架类和材料应用程序的了解
- ANNOgesic-1.0.9-py3-none-any.whl.zip
- WPFlable数字计算效果
- 华容道(易语言2005年大赛三等奖).zip易语言项目例子源码下载