Skip to main content
 首页 » 编程设计

python之Django_tables2之部分 css 不工作

2024年10月01日31xxx_UU

这是我第一次使用 django_tables2 插件 - 所以很自然地,我遵循了他们文档中的安装和快速入门指南。
我已经 pip 安装了 django-tables2,将“django_tables2”添加到我安装的应用程序中,并确保“django.template.context_processors.request”在模板选项中。
但是,我遇到了一个奇怪的异常现象。我在下面粘贴我的代码,以供引用 -

意见-

from django.shortcuts import render 
from .models import VM 
 
def people(request): 
    return render(request, 'home.html', {'vms': VM.objects.all()}) 

home.html -

{% load render_table from django_tables2 %} 
{% load static %} 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <link rel="stylesheet" href="{% static 'css/bs.css' %}" /> 
    <link rel="stylesheet" href="{% static 'django_tables2/themes/paleblue/css/screen.css' %}" /> 
    <link rel="stylesheet" href="{% static 'css/style.css' %}" type="text/css" /> 
</head> 
<body> 
    <div class="col-sm-offset-2 col-sm-10 text-center"> 
        <h2 id="Text">VM List</h2> 
        {% render_table vms %} 
    </div> 
</body> 
</html> 

如您所见,这正是 docs 中给出的内容.然而,虽然我的表格有些格式化,但它与我最初预期的并不完全相同。

这就是我得到的 -

根据文档,这是我应该得到的东西。 -


请注意,django_tables2 css 实际上已获取。我密切关注源文件,django_tables2 下的 screen.css 加载得很好。

编辑 - 检查表的元素。除了表格本身(应该是淡蓝色)之外,所有东西都有类。在检查器上添加该位是可行的,但我如何通过代码执行此操作?它不应该默认发生吗?

请您参考如下方法:

我在模板标签代码中看到了这个:

class OnTheFlyTable(tables.Table): 
    class Meta: 
        model = queryset.model 

这是 django table 呈现的默认表格,因为它不包含任何 css 类,您在 table 标签中看到任何 css 类。

现在从代码中的文档字符串:

class OnTheFlyTable(tables.Table): 
    class Meta: 
        model = queryset.model 
        attrs = {'class': 'paleblue'} 

你必须使用类似下面的东西才能为表格使用 css 类

我阅读这段代码的文件引用: