首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Django admin中设置具有详细名称的模型属性的HTML样式

,可以通过自定义模型字段的显示方式来实现。以下是一种可能的解决方案:

  1. 创建一个自定义的模型字段类,继承自Django的原始字段类,例如CharField或TextField。
代码语言:txt
复制
from django.db import models

class CustomCharField(models.CharField):
    def __init__(self, *args, **kwargs):
        self.detail_name = kwargs.pop('detail_name', '')  # 获取详细名称参数
        super().__init__(*args, **kwargs)

    def formfield(self, **kwargs):
        formfield = super().formfield(**kwargs)
        formfield.widget.attrs.update({'class': 'custom-field'})  # 添加自定义CSS类名
        return formfield

    def get_detail_name(self):
        return self.detail_name
  1. 在模型中使用自定义字段类替代原始字段类,并传递详细名称参数。
代码语言:txt
复制
from django.db import models

class MyModel(models.Model):
    my_field = CustomCharField(max_length=100, detail_name='详细名称')
  1. 创建一个自定义的Django admin样式文件,例如admin.css,定义.custom-field类的样式。
代码语言:txt
复制
.custom-field {
    /* 添加你想要的样式,例如加粗、颜色等 */
    font-weight: bold;
    color: blue;
}
  1. 在Django admin中注册模型,并指定使用自定义样式文件。
代码语言:txt
复制
from django.contrib import admin
from .models import MyModel

class MyModelAdmin(admin.ModelAdmin):
    class Media:
        css = {
            'all': ('admin.css',),
        }

admin.site.register(MyModel, MyModelAdmin)

这样,在Django admin中显示的模型属性字段将应用自定义的HTML样式,并且可以通过自定义字段类的get_detail_name方法获取详细名称。

请注意,以上解决方案仅为示例,你可以根据实际需求进行调整和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Python全栈100天学习笔记】Day43 Django静态资源与Ajax请求

基于前面的知识,我们已经可以使用Django框架来完成Web应用的开发了。接下来我们就尝试实现一个投票应用,具体的需求是用户进入应用首先查看到“学科介绍”页面,该页面显示了一个学校所开设的所有学科;通过点击某个学科,可以进入“老师介绍”页面,该页面展示了该学科所有老师的详细情况,可以在该页面上给老师点击“好评”或“差评”;如果用户没有登录,在投票时会先跳转到“登录页”要求用户登录,登录成功才能投票;对于未注册的用户,可以在“登录页”点击“新用户注册”进入“注册页”完成用户注册操作,注册成功后会跳转到“登录页”,注册失败会获得相应的提示信息。

02
领券