使用django_tables2将django中的CSS样式添加到表中

时间:2017-12-12 20:15:39

标签: python django python-3.x django-tables2

我对Django很新。我正在尝试在

时向表中添加CSS样式
{% render_table table %}

正在运行。

代码如下:

views.py:

def myTable(request):
    table = myDataTable.objects.all()
    filter = request.GET.get('q')
    startDate = request.GET.get('sd')
    endDate = request.GET.get('ed')
    if mail:
        table = table.filter(Q(filter__icontains=filter) &
                         Q(evaluation_date__range=[startDate, endDate])).distinct()
    else:
        table = table.filter(Q(evaluation_date__range=[startDate, endDate])).distinct()
    table = TableView(table)
    RequestConfig(request).configure(table)
    return render(request, 'myapp/myTable.html', {'table': table})

tables.py:

class TableView(tables.Table):
      class Meta:
           model = myDataTable
           template = 'django_tables2/bootstrap.html'

myApp.html

{% load staticfiles %}
{% load render_table from django_tables2 %}
....
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css">
....
<body>
     {% render_table table %}

project/static/css/我有自定义样式文件customstyle.css,但无法使渲染表使用该样式。

你能帮我吗?

2 个答案:

答案 0 :(得分:0)

由django-tables2生成的表的样式为explained in the documentation。您可以使用默认的类属性,也可以指定自定义属性。

要使用自定义样式表customstyle.css(使用上述类),必须将其包含在模板中。 django-tables2不适合你,但你可以从django tutorial part 6了解如何做到这一点:

{% load static %}

<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" />

您必须根据项目中的位置调整名称和路径。

答案 1 :(得分:0)

我努力为我也在渲染的表格获得正确的样式:

{% render_table table %}

在你的tables.py文件中,你可以做如下设置表格本身的属性(比如它的类):

class TableView(tables.Table):
    class Meta:
        attrs = {'class': 'table table-striped table-hover'}