如何将值从django中的模板传递给templatetag

时间:2011-03-02 16:30:15

标签: python django django-models django-templates django-views

我有一个非常基本的问题,经历了很多博客和django文档,但它有点令人困惑。可以提供以下方案的任何帮助。

情景

我在这四列中有x表

 columns : **id  name    date         data **  
              1   ab    2011-02-03     p
              2   bc    2011-02-03     A
              3   ab    2011-02-04     A
              4   bc    2011-02-04     P
              5   ab    2011-02-05     B
              6   bc    2011-02-06     P

id x查询

res = x.objects.all()

它生成以下输出

[<x: ab  2011-02-03 P>, <x: bc 2011-02-03  A >, <x: ab  2011-02-04 A> , <x: bc  2011-02-04 P>,<x: ab  2011-02-05 b>,<x: ab 2011-02-06 P>]

现在我写了一个res给模板,如下面的格式

   {% load xyz %}

  {% for fetch in res : %}
       {{fetch.name}}
       {{fetch.date | xyz  }}
       {{ template tag result }}
模板标签中的

需要能够从模板获取日期,并将天数据状态返回模板

最终输出应该是这样的

**name   2011-02-03 2011-02-04 2011-02-05 2011-02-06**
 ab      P           A          B
 bc      A           P                      P
抱歉长篇文章,这种紧急,我需要在星期五之前在应用程序中实现。

plzzz需要帮助

1 个答案:

答案 0 :(得分:0)

您应该创建与您尝试输出的表对应的类。

即。一些事情:

Class MyTable:
   def __init__(self):
      self.dates = [] // where dates[i] might be something like {date: [P, A, ...]}
                      // you will have to figure out how and what do you want to represent
      self.data = []  // where data[i] is something like {ab:[P, A, B, None]}

   // define different methods to fill dates and data fields

然后用res中的数据填充MyTable的字段并将MyTable传递给模板。

然后,您只需将填好的表格传递给模板即可。它将与您的表一对一对应,因此您只需遍历行并打印它们。