首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >django-模板31次?

django-模板31次?
EN

Stack Overflow用户
提问于 2015-06-03 18:48:58
回答 2查看 62关注 0票数 0

我想用html创建一个简单的日历,但是我不能创建31次

Django-视图:

代码语言:javascript
运行
复制
def calendar(request):
    try:
        tvserie = Tvserie.objects.order_by('-date_next_episode')
        return render_to_response('calendar.html',{'tvserie':tvserie})
    except:
        return render_to_response('error_page.html')

Django-模板:

代码语言:javascript
运行
复制
<table border="1">
  {% for 0 in 31 %}
    <tr>
    {% if forloop.counter == tvserie.date_next_episode.day %}
      <td>
        {{tvserie.date_next_episode.day}}
        {{tvserie.network}}<br>
        {{tvserie.number_next_episode}} {{tvserie.title}}<br>
        "{{tvserie.title_next_episode}}"<br>
      </td>
    {% else %}
      <td>
        {{forloop.counter}}
      </td>
    {% endif %}
    </tr>
  {% endfor %}
</table>
EN

回答 2

Stack Overflow用户

发布于 2015-06-03 18:56:11

您可以通过以下方式创建自定义模板筛选器来创建范围:

代码语言:javascript
运行
复制
from django import template
register = template.Library()

@register.filter
def get_range(val):
    return range(val)

然后,您应该替换以下内容:

代码语言:javascript
运行
复制
{% for 0 in 31 %}

有了这个:

代码语言:javascript
运行
复制
{% for day in 31|get_range %}

它创建了一个31项的范围,并对其进行迭代。

票数 0
EN

Stack Overflow用户

发布于 2015-06-03 19:15:34

一种方法是使用custom tag,或者简单地说这可能会对您有所帮助。

代码语言:javascript
运行
复制
{% for i in "xxxxxxxxxxxxxxxxxxxx#31 times" %}
    {{ forloop.counter0 }}
{% endfor %}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30617943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档