这是我第一次使用django_tables2插件 - 当然,我按照他们的文档中的安装和快速入门指南进行操作。
我已经安装了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加载得很好。
编辑 - 检查表格的元素。一切都有类,除了表本身(应该是paleblue)。在检查器上添加该位有效,但如何通过代码执行此操作?不应该默认发生吗?
答案 0 :(得分:2)
我在模板标签代码中看到了这一点:
class OnTheFlyTable(tables.Table):
class Meta:
model = queryset.model
这是django表呈现的默认表,因为它不包含您在表标记中看到任何css类的任何css类。
现在来自代码中的文档字符串:
class OnTheFlyTable(tables.Table):
class Meta:
model = queryset.model
attrs = {'class': 'paleblue'}
你必须使用类似下面的内容才能使用表的css类
来自我的文件参考阅读此代码: