Django 模板 - 通过字符串参数重新组合

Posted

技术标签:

【中文标题】Django 模板 - 通过字符串参数重新组合【英文标题】:Django templates - Regrouping by a string parameter 【发布时间】:2010-10-09 01:29:29 【问题描述】:

我想要重构的 Django 模板之一中有以下代码:

% ifequal sort_type "set" % 
    % regroup cards by set as grouped %   
% endifequal %
% ifequal sort_type "rarity" % 
    % regroup cards by rarity as grouped %
% endifequal %

它确实有效,但它真的很丑,我想让它更像这样:

% regroup cards by sort_type as groupedcards %

但这不起作用(它只是将它们全部放在一个名为 None 的组中。)从文档中,我认为它可能正在尝试字典查找(即,调用 card["set"] 而不是 card.设置)。

在模板中是否有很好的方法来执行此操作,或者我应该使用 itertools 将重组移到 Python 代码中?

【问题讨论】:

【参考方案1】:

Ticked in Django bugtracker与这个问题有关。

【讨论】:

类似的用法不一样,因为他们事先知道regroup by的属性(我只在运行时得到)。但是这张票很有帮助,而且似乎表明不可能这样做。

以上是关于Django 模板 - 通过字符串参数重新组合的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django 模板中重新组合?

使用字符串文字作为 Django 模板中模板标签的参数

Django - 来自模板标签内变量的字符串

Django 模板标签插入或替换 URL 参数

如何通过将字符串格式化为 django 模板来显示数据?

Django模板,向模板标签发送两个参数?