你如何使用django-datatable-view

时间:2014-07-08 19:12:31

标签: python django datatable

我目前正在构建一个项目,它将在Django管理员中显示相当多的数据我想用django-datatable-view替换用于数据表的列表视图,它在列表中说明它可以是作为列表视图的替代品。我可能没有正确阅读这个,但我认为这意味着完全取代列表视图,因此默认使用数据表这是我想要的。我是Django的新手,似乎没有关于这个附加组件的文档,他们有一些示例,但没有关于如何实际使用他们声称存在的功能的文档,任何人都使用此附加组件替换了Django中的列表视图和数据表。我想尝试默认为所有创建的新模型执行此操作,但也尝试使用我尚未扩展的auth模型。

2 个答案:

答案 0 :(得分:8)

好吧,我已经在我的localhost上测试了这个应用程序,这里有一些结果(评论太多了,所以我会在这里回答)

首先,您需要看一下:http://django-datatable-view.appspot.com/

它有一些关于如何实现django-datatable-view的文档。例如: http://django-datatable-view.appspot.com/zero-configuration/已经有了如何编写视图来实现基于模型的表,

http://django-datatable-view.appspot.com/ordering/已经获得了如何获得订单,

http://django-datatable-view.appspot.com/javascript-initialization/已获得有关js的信息。

如果您克隆repo并在localhost中运行它,那就更好了。在那里,您将能够尝试视图和模板(正如我尝试做的那样)。

在这里:https://github.com/pivotal-energy-solutions/django-datatable-view/blob/master/datatableview/tests/example_project/example_project/example_app/views.py,您将看到如何编码多种类型的视图(对于没有配置表,特定列表等)。

其次,到目前为止我尝试了什么: 我这个项目的结构是这样的:

-Project
 manage.py
   -myapp(folder)
      views.py
      models.py
      urls.py
   -datatableview*(folder)
   -projectapp(folder)
      settings.py
      urls.py

*从克隆的repo中,我复制了datatableview文件夹并将其粘贴到我的项目中。

在myapp>模型中:

class Post(models.Model):
       title= models.CharField(max_length=150)
       body = models.TextField()
       created = models.DateField() 

在myapp>视图中:

class MyView(DatatableView):
    model = Post
    datatable_options = {
        'columns': [
            'title',
            'body',
            'created',
            ]
    }

在myapp>网址:

url(r'^$', MyView.as_view(),  name='myview'),

在模板中:    in(tempaltes / myapp / post_list.html)

{% block content %}
{{ datatable }}
{{ object_list }} 
{% endblock %}

结果是这样的:

title   body    created
[<post: one >, <post: two>]

此处title body created是表格列标题的名称。

PS:我知道它没有多大帮助,但希望这些信息可以帮助你走得更远。还有一点建议,请看django-tables2

答案 1 :(得分:1)

ruddra的回答帮助我开始使用django-datatable-view项目,但我对这个主题的另一个问题的答案可能会提供一些其他细节:

https://stackoverflow.com/a/39713780/2863603