Django:如何admin管理界面中显示中文model名称

(转载)Django:如何admin管理界面中显示中文model名称

原文网址:http://www.nanerbang.com/article/33/

在定义django模型时,我喜欢使用驼峰命名法,比如定义一个叫“BookReviewWeibo”的model,代表“微读书”。但是,django的admin管理界面在显示这个model的名称时,会将这个驼峰式的名称拆分为独立的单词,并最后一个单词使用复数。例如“BookReviewWeibo”这个model,在admin中会被显示为“book review weibos”,十分难看。

使用django的国际化接口解决此问题会比较麻烦,其实大可不必这样。models.Model类的内部类Meta,有两个特殊的选项:verbose_name和verbose_name_plural。顾名思义,verbose_name为model提供了一个更容易让人阅读的名称,而verbose_name_pluralze则是这个名称的复数形式。一般情况下,我会使用一个中文的verbose_name,由于中文不区分单复数,因此通常会将同一个中文字符串赋值给verbose_name和verbose_name_plural。比如,对于前面的“BookReviewWeibo”类,可以写成:

class BookReviewWeibo(Weibo, BookReview):    
        
    class Meta:
        verbose_name = '微读书'
        verbose_name_plural = '微读书' 

如果不设置Meta内部类的这两个选项,则admin中的效果如下图:

未设置verbose_name和verbose_name_plural时admin中的model名称

设置Meta内部类的这两个选项后,则admin中的效果如下图:

设置verbose_name和verbose_name_plural后,admin中显示自定义的model名


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭