使用djt2 v0.15/dj1.6/pyth2.6.6
多个表的djt2文档示例视图文件:
def people_listing(request) :
config = RequestConfig(request)
table1 = PeopleTable(Person.objects.all(), prefix="1-")
table2 = PeopleTable(Person.objects.all(), prefix="2-")
config.configure(table1)
config.configure(table2)
return render(request, "people_listing.html",
{"table1": table1, "table2": table2})
对于引用的“table1”、“table2”参数,这个示例首先似乎是不正确的。我的测试显示,至少在一个表中,需要在引号中使用定义名“people_list”。另外,为什么有人要把同一张表显示两次呢?这是个坏例子吗?以下是我的应用程序尝试使用此结构:
^{pr2}$url文件在AvLabVw上获取,html模板使用render_table。在
{% render_table AvLabVw %}
这段代码所发生的事情是只显示一个表,以返回呈现行上的最后一个为准。在
在文档的其他地方,它说需要使用带有get_context_数据的SingleTableView,但我还没有弄清楚。。。在
我尝试过这种风格的实现,我认为它需要一个表对象和一个列表对象?在
from django_tables2 import views from django_tables2 import SingleTableView from django_tables2 import SingleTableMixin from django.shortcuts import render from django_tables2 import RequestConfig def SimVers_lst(request): return render(request, 'AvRelInfo.html', {'SimVers_lst' : Simulator.objects.all()}) def AvLabVw(request): config = RequestConfig(request) simlst = SimVers_lst(Simulator.objects.all()) table = CmuTable(CmuVersion.objects.all(), prefix="1-") Stv = views.SingleTableView() multitbl = Stv.get_context_data() config.configure(multitbl) return render(request, "AvRelInfo.html", { "AvLabVw" : multitbl })
在html模板中的{% render_table AvLabVw %}
处使用通常的catch all
"ValueError at /AvCtlapp/ Expected table or queryset, not 'str'."
... 拿些垃圾。。。我想我可以试试看,如果我能设置测试的话。。。在
谢谢你的帮助。。。在
乔
PS:是否需要自定义渲染,该效果如何?在
您的第一个代码示例(它是从django-tables2文档复制的)是为了在一个页面中呈现两个表。这是一个不错的例子(我认为),因为它展示了如何用不同的前缀呈现来自同一个表类的两个表。
最后一个代码示例是,使用SingleTableView是错误的。它的意思是在模板中呈现一个表,它基本上是一个基于类的视图。试着这样做:
模板如下:
^{pr2}$现在,如果要呈现多个表,请从此视图重写
get_context_data()
方法,如下所示:和模板,如:
和URL:
相关问题 更多 >
编程相关推荐