Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django Admin中更改表格单元格的整个背景色_Python_Html_Django_Django Admin - Fatal编程技术网

Python 在Django Admin中更改表格单元格的整个背景色

Python 在Django Admin中更改表格单元格的整个背景色,python,html,django,django-admin,Python,Html,Django,Django Admin,我正在尝试为整个Django表单元格着色,下面的代码只为Django Admin中的文本着色,而不是为整个表单元格着色。当前是什么样子的: 这是当前的代码 class Student(models.Model): def city_and_zip(self): if self.city_zip: cell_html = '<div style = "background-color:#e6f2ff;">%s</div>'

我正在尝试为整个Django表单元格着色,下面的代码只为Django Admin中的文本着色,而不是为整个表单元格着色。当前是什么样子的:

这是当前的代码

class Student(models.Model):

    def city_and_zip(self):
        if self.city_zip:
            cell_html = '<div style = "background-color:#e6f2ff;">%s</div>'
        else:
            cell_html = '<div>%s</div>'

        return cell_html % self.city_zip

    city_and_zip.allow_tags = True
班级学生(models.Model):
def city_和_zip(自):
如果self.city\u zip:
单元格\u html='%s'
其他:
单元格\u html='%s'
返回单元格\u html%self.city\u zip
city_和_zip.allow_tags=True

再一次,它正确地着色。。。但只是在某种程度上。我想给整个细胞涂色。将div更改为th也不起作用

当您为
modelAdmin
声明list\u display时,
td
元素构成此字段,该元素具有类似
字段-“list\u display\u name”的css类
。我想你的案子会
field-city\u和\u-zip

所以你可以为这个类添加css选择器。Django为此方法提供了许多解决方案。这里有一个:

class StudentAdmin(admin.ModelAdmin):

    @property
    def media(self):
        media = super(ProductAdmin, self).media
        css = {
            "all": (
                "css/your.css",
            )
        }
        media.add_css(css)
        return media 
另一方面,您可以在您的管理模型中编写
类媒体

class StudentAdmin(admin.ModelAdmin):

    class Media:
        css = {"all":("css/your.css",)}
然后将此css文件放入静态路径并写入选择器:

.field-city_and_zip {
     background-color: #e6f2ff;
}
它应该像你需要的那样工作。您还可以将css直接放入管理基础模板中

当您为
modelAdmin
声明list\u display时,
td
元素构成此字段,该元素具有类似
字段的css类-“list\u display\u name”
。我想你的案子会
field-city\u和\u-zip

所以你可以为这个类添加css选择器。Django为此方法提供了许多解决方案。这里有一个:

class StudentAdmin(admin.ModelAdmin):

    @property
    def media(self):
        media = super(ProductAdmin, self).media
        css = {
            "all": (
                "css/your.css",
            )
        }
        media.add_css(css)
        return media 
另一方面,您可以在您的管理模型中编写
类媒体

class StudentAdmin(admin.ModelAdmin):

    class Media:
        css = {"all":("css/your.css",)}
然后将此css文件放入静态路径并写入选择器:

.field-city_and_zip {
     background-color: #e6f2ff;
}
它应该像你需要的那样工作。您还可以将css直接放入管理基础模板中

您可以通过两种方式更改管理员css资产:

  • 模型级别:将所需的css文件添加到管理模型中

    class MyModelAdmin(admin.ModelAdmin):
        class Media:
            js = ('js/admin/my_own_admin.js',)    
            css = {
                'all': ('css/admin/my_own_admin.css',)
            }
    
  • 模板级别:如果要更改管理员的外观,通常应覆盖管理员模板。此处详细介绍了这一点:
    有时,您可以扩展原始管理文件,然后覆盖块,例如中的
    {%block extrastyle%}{%endblock%}

    您可以通过两种方式更改管理css资产:

  • 模型级别:将所需的css文件添加到管理模型中

    class MyModelAdmin(admin.ModelAdmin):
        class Media:
            js = ('js/admin/my_own_admin.js',)    
            css = {
                'all': ('css/admin/my_own_admin.css',)
            }
    
  • 模板级别:如果要更改管理员的外观,通常应覆盖管理员模板。此处详细介绍了这一点: 有时,您可以扩展原始管理文件,然后覆盖块,例如中的
    {%block extrastyle%}{%endblock%}