在django中创建动态数据表视图的框架

django-data-tables的Python项目详细描述


django数据表是django的一个框架,它创建与模型相关的数据表来获取 通过ajax请求过滤数据,并允许对模型实例执行不同的操作。

这是一个图书馆的重新实施,它是在一个大的内部开发和大量使用的。 Studitemps GmbH.的企业软件。这种实现仍处于非常早期的开发阶段。 你可以四处玩玩,但在达到1.0.0版本之前,你会期待一些突破性的改变。

详细的文件仍在丢失,但希望很快会添加。

快速启动

一。将“django_data_tables”添加到设置中已安装的_应用程序中。py 像这样:

INSTALLED_APPS = [
    ...
    'django_data_tables',
    ...
]

2.在项目url.py中包含autodiscover和urlconf 像这样:

from django_data_tables.utils import autodiscover as ddt_autodiscover
from django_data_tables import views as dt_views

ddt_autodiscover()

...
path('ddt/get_data/<table_name>/', dt_views.get_data, name='ddt-get_data'),
path('ddt/action/<table_name>', dt_views.action, name='ddt-action'),
...

三。在需要的应用程序中创建tables.py 要创建这样的数据表:

import django_data_tables as ddt

from .forms import MyEditForm

class EditAction(ddt.FormAction):
     name = 'Edit'
     form_class = MyEditForm

     def success(self, form, obj):
         form.save()


class BaseDataTable(ddt.DataTable):
     columns = [
        ddt.IdColumn('id'),
        ddt.ModelFieldColumn('<some existing field e.g. "name">',
        ddt.ActionColumn('Do')
     ]
     filters = {'id_filter': ddt.IntFilter('id'),}
     actions = [EditAction,]
     model = '<your_app_name>.<YourModel>'

四。在视图中创建一个表呈现器实例并将其传递到 渲染器上下文。因此,在您的应用程序视图中执行以下操作:

from .tables import BaseDataTable

...

def my_fancy_view(request):
    table = BaseDataTable().get_renderer(request)
    return render(request, 'app/my_views_template.html', {'table': table})

5个。在my_views_template.html中呈现表(非常类似 到django表单:

<html>
    <head>
    {{ table.media }}
    </head>
    <body>
        <h1>Example for a Django Data Table Renderer</h1>
        {{ table }}
    </body>
</html>

6.像往常一样在url中创建到视图的路由 测试它

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使Eclipse在其控制台中显示最顶层的异常,而不是完整的堆栈跟踪   java如何为一个组件提供多个DropTargetListener?   在Eclipse包资源管理器中,有些文件不可见?   java在Spring Boot中使用@Bean配置设置类属性的默认值   在JTextPane中使用#链接的Java HTML?   java当应用程序打开时,如何将通知内容发送给活动?   java Android ROOM如何编写包含多个实体的查询,这是在哪里完成的?   Play Framework的java登录/注销问题?   java如何从安卓 Cordova/Phonegap调用javascript函数   JavaFX8如何在Java8中显示上次修改的LocalDateTime?   javabean验证中的多个约束注释   java使用JSTL设置请求属性   java在Android启动的服务中调用函数   用于检查xml是否包含键和值的java XPath表达式   在java游戏中使用斜坡因子挥杆   Java文件:尝试使用FileWriter将结果附加到已经存在的文件中   bootclasspath Java Xbootclasspath,相对路径   java我如何让这个“怪物战斗模拟器”工作?   swing使用动作侦听器隐藏和显示java桌面应用程序