当前位置: 芃睿知识网 > 建站常见问题

在django admin中修改字段中文名的两种方式

时间:2021年10月24日 19:13   作者:知识网   出处:原创

原因:

使用django admin显示列表的时候默认会显示字段的名字,一般为英文,我们最好在定义的时候就将英文修改为自定义中文,又可以达到备注的效果,使用以下两种方法修改即可。

第一种

class TemplateRequestLog(models.Model):
    templateApp = models.ForeignKey(TemplateApp, verbose_name="模板名称", on_delete=models.CASCADE)
    requestUrl = models.URLField(verbose_name="请求路径")
    createTime = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
    lastTime = models.DateTimeField(auto_now=True, verbose_name="修改时间")
    editor = models.ForeignKey(User, null=True, on_delete=models.CASCADE, verbose_name="修改者")

    class Meta:
        verbose_name_plural = "访问记录"

    def requestName(self):
        return self.editor.first_name

    requestName.short_description = "微信昵称"  # 直接修改

第二种

def rename(newname):
    def decorator(fn):
        fn.__name__ = newname
        return fn
    return decorator


class AppNews(models.Model):
    topImage = models.ImageField(upload_to='../static/uploadImage/AppNews/%Y/%m/%d', verbose_name='滚动图片', null=True,
                                 blank=True)
    createTime = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
    lastTime = models.DateTimeField(auto_now=True, verbose_name="修改时间")
    editor = models.ForeignKey(User, null=True, on_delete=models.CASCADE, verbose_name="修改者")

    class Meta:
        verbose_name_plural = "滚动新闻"

    @rename("模板头像")   # 添加在顶部
    def showTopImage(self):
        return format_html("<img src='/{}' class='showAvatar'/>", self.topImage)

    def __str__(self):
        return self.describe

看了该文章的用户还看了

Django models 数据库数据类型有哪些
Django models 数据库数据类型有哪些

CharField如果是巨大的文本类型,可以用 TextField,该字段默认的表单样式是 TextInput,Char

django RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods
django RuntimeError: 'cryptography' package is req

出现错误:RuntimeError: 'cryptography' package is required for sh

django (1045, "Access denied for user 'root'@'localhost' (using password:password: YES/NO)")
django (1045, "Access denied for user 'root'@'loca

在django的根目录下运行程序 python manage.py runserer或者运行python3 manage

django (2003, "Can't connect to MySQL server on 'localhost' ([Errno 61] Connection refused)
django (2003, "Can't connect to MySQL server on 'l

逐一排查问题,出现2003, "Can't connect to MySQL server on 'localhost'

Django生成数据库表时报(__init__() missing 1 required positional argument: 'on_delete')
Django生成数据库表时报(__init__() missing 1 required posit

在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,

Django如何把数据库里的html格式输出到前端
Django如何把数据库里的html格式输出到前端

只需在HTML页面中加入{% autoescape off %}即可!

django中autoescape标签使用详解
django中autoescape标签使用详解

DTL(Django Template Language)模板中默认已经开启了自动转义,会将那些特殊字符串进行转义

Django报错HTTP status code must be an integer.
Django报错HTTP status code must be an integer.

刚刚出现这个问题,还以为是表单提交或者什么网络错误,改了render就正常了

django模型如何删除数据
django模型如何删除数据

django模型也包含增删改查,那么django模型如何删除数据呢,下面我们一起看看

django自定义404页面有什么用
django自定义404页面有什么用

django自定义404页面有什么用呢,当网站改版时,ULR经常会出现变动

发表高见 (请对您的言行负责)
©芃睿知识网 版权所有2021-2022 www.shsongjiang.com