首页 > 技术文章 > django学习-25.admin管理后台里:把表名称和表字段名称和表数据详情页面左上角文案的展示值都由英文显示改为由中文显示

xiamen-momo 2021-02-19 16:44 原文

目录结构

1.前言

2.完整的操作步骤

2.1.第一步:在【helloworld/hello/models.py】里新增模型类Article

2.2.第二步:在【helloworld/hello/admin.py】里注册模型类

2.3.第三步:重启服务

2.4.第四步:退出登录并再次成功登陆admin管理后台

2.5.第五步:查看article表最新的相关展示文案

3.相关学习资料

 

 

 

 

 

1.前言

①.在admin管理后台里,表名称默认展示值是:第一个小写字母会被转为大写的表名+s;

     比如有个数据表名为article,那么在admin管理后台里这数据表article的表名称默认展示值是:Articles

②.在admin管理后台里,表字段名称默认展示值是:所有小写字母都会被转为大写的表字段名;

     比如有个数据表名为article的数据表里有个表字段title,那么在admin管理后台里这表字段title的表字段名称默认展示值是:TITLE

③.在admin管理后台里,每条表数据详情页面的左上角的文案是:选择+表名+来修改;

     比如有个数据表名为article的数据表里有一条数据,那么在admin管理后台里这条表数据详情页面的左上角的文案是:选择article来修改

  

接下来,我们尝试把数据表article对应的表名称展示值Articles改成用中文展示,把表字段title对应的表字段名称展示值TITLE也改成用中文展示,把表数据详情页面的左上角的文案都改成用中文展示,比如:

  • 把表名称展示值Articles改为中文展示:文章列表
  • 把表字段展示值TITLE改为中文展示:标题
  • 把表数据详情页面的左上角的文案都改成用中文展示:文章详情

具体实现可以看接下来完整的操作流程;

 

2.完整的操作步骤

2.1.第一步:在【helloworld/hello/models.py】里新增模型类Article

# 新增一个Article模型类
class Article(models.Model):
    '''文章'''
    title = models.CharField(max_length=30,verbose_name="标题")  # 标题
    body  = models.TextField() # 正文(因为文章的正文字数会很多,所以需要使用该类TextField)
    author = models.CharField(max_length=10) # 作者
    create_time = models.DateTimeField(auto_now_add=True)  # 创建时间
    update_time = models.DateTimeField(auto_now=True)      # 更新时间

    class Meta:
        verbose_name_plural = "文章列表"
        verbose_name = "文章详情"
        
        
        

细节:

  • 对入参verbose_name和属性verbose_name_plural和属性verbose_name进行赋值即可;
  • 入参verbose_name:控制表字段名称的展示值;
  • 属性verbose_name_plural:控制表名称的展示值;
  • 属性verbose_name:控制表数据详情页面的左上角的文案的展示值;
  • 属性verbose_name_plural是写在内部类Meta里,对属性verbose_name_plural赋值其实也就是重写内部类Meta里的属性verbose_name_plural;
  • 属性verbose_name是写在内部类Meta里,对属性verbose_name赋值其实也就是重写内部类Meta里的属性verbose_name;
  • 内部类Meta是嵌套在外部类Article里,也可以说内部类Meta是嵌套在外部类Model里,因为类Article继承了父类Model;

 

2.2.第二步:在【helloworld/hello/admin.py】里注册模型类

from django.contrib import admin
# Register your models here.
from hello import models

class ControllerArticle(admin.ModelAdmin):
    list_display = ("title","author","body","create_time","update_time")
    search_fields = ("title",)  # 细节:如果该search_fields里只有一个值,一定要加个逗号【,】,否则系统会报错会认为search_fields的值是一个字符串而不是一个元祖;

2.3.第三步:重启服务

2.4.第四步:退出登录并再次成功登陆admin管理后台

2.5.第五步:查看article表最新的相关展示文案

3.相关学习资料

  • python内部类和外部类的简单学习,可以查看这篇博客:https://blog.csdn.net/yeshang_lady/article/details/101759432
  • 关于djano框架的【class Meta】学习,可以查看这篇博客:https://www.cnblogs.com/tongchengbin/p/7670927.html

 

推荐阅读