【问题标题】:Generating a class name based on position in django template?根据django模板中的位置生成类名?
【发布时间】:2015-01-24 16:56:05
【问题描述】:

是否可以在 Django 模板中使用模板标签执行以下操作?我有许多生成的 div,例如

DIV-TEMPLATE.HTML

<div class="id-{{ id_num }}-pos{{ id_pos }}"></div>

许多其他模板文件通过使用模板标签来包含此文件,例如

{% render_div div_id="980x250" %}

模板标签被设置为使用第一个代码sn-p作为它的模板。我想知道的是是否可以让 django 动态获取 div 的位置(通过模板标签中的一些逻辑)。例如,如果我让 div 垂直向下移动页面,我希望第一个 div 的类为

<div class="id-980x250-pos1"></div>

如果这是将{% render_div ad_id="980x250" %} 传递给渲染div 模板标签的参数。

要拥有的第二个 div

<div class="id-300x250-pos2"></div>

如果这被称为{% render_div ad_id="300x250" %} 等等。

从逻辑上讲,我试图围绕这一点思考,有一个模板被调用,我需要拥有它,以便根据其从顶部 (1) 到底部的位置生成 pos 值。我不能将 div_pos 值传递给模板标签,因为一个特定模板中的模板标签可能会在另一个模板中使用,因此该位置不正确。

解释起来有点混乱,但希望你能明白。

【问题讨论】:

    标签: django


    【解决方案1】:

    我认为这在 django 中是不可能的,因为 django 不会渲染生成的 html。 (即使可以,我认为您不能保证与现有的不同浏览器中的结果相同。)。

    执行此操作的最佳方法可能是使用一些 javascript。例如,JQuery 有一个function that returns the position of an element

    【讨论】:

    • 是的,我就是这么想的。哦,我想我想这也是更简单的方法。谢谢
    猜你喜欢
    • 2013-05-09
    • 2011-01-01
    • 2018-08-06
    • 2014-05-20
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    • 2020-02-14
    相关资源
    最近更新 更多