【问题标题】:Django Template: How to modify the value in the for-loop tag?Django模板:如何修改for循环标签中的值?
【发布时间】:2015-05-08 09:19:52
【问题描述】:

我想做的很简单:我想显示一个 HTML 选择标签,其中包含值为 1971 ~ 2020 的选项标签。

以下为sn-p代码:

Year<select name="selected_year">
{% for i in "x"|rjust:"50" %}
    <option value="{{ forloop.counter }}">{{ forloop.counter }}</option>
{% endfor %}
</select>

{{forloop.counter}} 将显示 1 ~ 50。
我的问题是:如何改为显示 1971 ~ 2020?
有什么建议吗?

顺便说一句,for循环代码是从另一个问题中引用的: Numeric for loop in Django templates

【问题讨论】:

    标签: python django templates for-loop


    【解决方案1】:

    可以使用|add 过滤器来修改每个值:

    <option value="{{ forloop.counter|add:1970 }}">{{ forloop.counter|add:1970 }}</option>
    

    但不要这样做。在视图中使用range(1971, 2021) 并将其传递给模板。

    【讨论】:

    • 天哪,我真的不知道这个。我仍然是 Django 世界的新手。谢啦!我花了几个小时来搜索答案 = =。
    • 为什么不这样做呢?有什么特殊原因吗?
    猜你喜欢
    • 2012-01-24
    • 2012-03-28
    • 1970-01-01
    • 2017-01-09
    • 2021-10-17
    • 1970-01-01
    • 2013-10-26
    • 2012-07-25
    • 2011-09-24
    相关资源
    最近更新 更多