【问题标题】:How do you use django-datatable-view你如何使用 django-datatable-view
【发布时间】:2014-08-29 15:59:39
【问题描述】:

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

【问题讨论】:

标签: python django datatable


【解决方案1】:

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

首先,你需要看看这里:http://django-datatable-view.appspot.com/

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

http://django-datatable-view.appspot.com/ordering/已经知道如何在table中获取订单了,

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',
            ]
    }

在我的应用程序中>网址:

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

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

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

结果是这样的:

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

这里title body created 是表格列标题的名称。

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

【讨论】:

  • 有没有办法将x-editabledjango-tables2 结合起来?
  • 虽然这个答案有帮助,但结果肯定是不可取的。您如何才能真正呈现表格而不仅仅是对象列表?
猜你喜欢
  • 2016-12-30
  • 2019-06-06
  • 2019-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-11
  • 2021-03-25
  • 2013-08-03
相关资源
最近更新 更多