跳转到主要内容

为Django提供的易于使用的表格API

项目描述

此API有助于快速轻松地创建表格。它允许显示模型数据、任意数据、注释数据等。它还允许通过CSV导出视图进行简单的CSV导出。

代码库文档良好,每个类都应该有一个相关的文档字符串。

安装

使用pip安装Python包

$ pip install sheepdog-tables

安装JavaScript依赖项

以下是一个Bower配置示例,包含支持的JavaScript依赖项版本。

{
    "name": "my_project",
    "version": "0.0.0",
    "dependencies": {
        "bootstrap": "3.0.1",
        "backbone": "1.0.0",
        "underscore": "1.4.4"
    }
}

JavaScript是用coffeescript编写的,我们建议您使用类似django-compressor的项目来压缩您的静态文件并编译coffeescript。

$ pip install django-compressor==1.3
<script type="text/javascript" src="{% static "bower/jquery/jquery.min.js" %}"></script>
<script type="text/javascript" src="{% static "tables/js/jquery.ba-bbq.js" %}"></script>

<!-- To enable filtering -->
<script type="text/javascript" src="{% static "bower/underscore/underscore.js" %}"></script>
<script type="text/javascript" src="{% static "bower/backbone/backbone.js" %}"></script>
<script type="text/coffeescript" src="{% static "tables/js/filtering.coffee" %}"></script>

<!-- Event binding for sorting, pagination, etc. -->
<script type="text/coffeescript" src="{% static "tables/js/binding.coffee" %}"></script>

起点

对于此API,有一些需要注意的事项。将表格添加到页面中的主要mixin是TablesMixin。相应的模板位于tables/tables.html中。mixin应混合到继承自ListView的基于类的视图中。它应该在其相同功能的ListView方法之后运行其get_context_data方法。

每个表格都应声明为类参数。例如,如果我有两个表格,Table1Table2,则我们可以有一个这样的类

class MyView(TablesMixin, ListView):
    table_1 = Table1()
    table_2 = Table2()

    def get_context_data(self, **kwargs):
        context = ListView.get_context_data(self, **kwargs)
        context.update(TablesMixin.get_context_data(self, **kwargs)

表格类的工作方式类似于模型。有关详细信息,请参阅其类文档字符串。

使用此API的良好实践

此API的应用遵循Django和Python的一般规则。通常,将应用程序的所有表放在一个名为tables.py的文件中,将列放在一个单独的columns.py文件中是一个好主意,就像对表单和字段所做的那样。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

sheepdog-tables-1.2.0.tar.gz (35.1 kB 查看哈希值)

上传时间

支持者