使用添加过滤器时,Django模板中的For循环导致错误

瑞安·托马斯(Ryan Thomas)

我正在尝试在模板中将两个变量加在一起,以将两个分数结合在一起并输出值。问题是,当循环进入尚未发生的游戏时,由于变量尚不存在,它将踢出一个错误。

我应该添加什么来跳过循环中没有分数的游戏?

    {% for game in games %}
        <p class="light-blue text-center">
            Total: {{ game.scoreboard.score.home|add:game.scoreboard.score.away }}
        </p>
    {% endfor %}
威廉·范·昂塞姆

我建议在模型中而不是在模板中实现这一点。

因此Score,例如,如果您有一个模型,则可以将其实现为:

class Score(models.Model):
    home = models.IntegerField()
    away = models.IntegerField()
    
    @property
    def total(self):
        return self.home + self.away

然后将其呈现为:

{% for game in games %}
    <p class="light-blue text-center">
        Total: {{ game.scoreboard.score.total }}
    </p>
{% endfor %}

如果数据是字典的结构。您可以使用以下方法在视图中进行预处理:

def my_view(request):
    # … some data …
    for game in data['games']:
        score = game['scoreboard']['score']
        score['total'] = score['home'] + score['away']
    # …

如果不是所有游戏都有记分板,则可以首先检查它是否是字典中的一个元素:

def my_view(request):
    # … some data …
    for game in data['games']:
        if 'scoreboard' in game and 'score' in game['scoreboard']:
            score = game['scoreboard']['score']
            score['total'] = score['home'] + score['away']
    # …

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在angularjs中添加过滤器

来自分类Dev

在Magento中添加过滤器

来自分类Dev

在存储过程中添加过滤器但错误无效

来自分类Dev

在Django-admin中,如何添加过滤器或搜索外键选择框?

来自分类Dev

使用@EnableAuthorizationServer时如何在HTTP BasicAuthenticationFilter之后添加过滤器

来自分类Dev

在 Solr 中添加过滤器查询以单独排序

来自分类Dev

在某些 ng-repeat 中添加过滤器

来自分类Dev

向 obiee 中的分析添加过滤器

来自分类Dev

如何添加过滤器:使用JavaScript的Alpha?

来自分类Dev

Twig添加过滤器

来自分类Dev

Twig添加过滤器

来自分类Dev

SAS添加过滤器

来自分类Dev

添加过滤器以重复

来自分类Dev

向 CIImage 添加过滤器

来自分类Dev

使用Django过滤器缩进模板

来自分类Dev

当在代码中添加过滤器CSS时,为什么此衰落函数不起作用?

来自分类Dev

AngularJS过滤器导致$ digest循环错误

来自分类Dev

尝试向Grizzly + Jersey应用添加过滤器时出现问题

来自分类Dev

如何在for循环中使用Django模板过滤器?

来自分类Dev

在 Sinatra 中的过滤器导致重定向循环之前

来自分类Dev

在Spring Boot中为Servlet配置添加过滤器

来自分类Dev

如何在Play框架中为WebSocket请求添加过滤器

来自分类Dev

如何在此查询的总和中添加过滤器(每周)以获取不同的值

来自分类Dev

如何在grafana中按标签添加过滤器?

来自分类Dev

如何在此查询的总和中添加过滤器(每周)以获取不同的值

来自分类Dev

添加过滤器Wordpress(Shortcode在rss中不起作用)

来自分类Dev

如何在 CustomAuthorizeAttribute Web API 中添加过滤器

来自分类Dev

如何在 Sonata Admin Bundle 中为 configureListField 添加过滤器(createQuery 方法)

来自分类Dev

Superset 如何在仪表板中添加过滤器

Related 相关文章

  1. 1

    在angularjs中添加过滤器

  2. 2

    在Magento中添加过滤器

  3. 3

    在存储过程中添加过滤器但错误无效

  4. 4

    在Django-admin中,如何添加过滤器或搜索外键选择框?

  5. 5

    使用@EnableAuthorizationServer时如何在HTTP BasicAuthenticationFilter之后添加过滤器

  6. 6

    在 Solr 中添加过滤器查询以单独排序

  7. 7

    在某些 ng-repeat 中添加过滤器

  8. 8

    向 obiee 中的分析添加过滤器

  9. 9

    如何添加过滤器:使用JavaScript的Alpha?

  10. 10

    Twig添加过滤器

  11. 11

    Twig添加过滤器

  12. 12

    SAS添加过滤器

  13. 13

    添加过滤器以重复

  14. 14

    向 CIImage 添加过滤器

  15. 15

    使用Django过滤器缩进模板

  16. 16

    当在代码中添加过滤器CSS时,为什么此衰落函数不起作用?

  17. 17

    AngularJS过滤器导致$ digest循环错误

  18. 18

    尝试向Grizzly + Jersey应用添加过滤器时出现问题

  19. 19

    如何在for循环中使用Django模板过滤器?

  20. 20

    在 Sinatra 中的过滤器导致重定向循环之前

  21. 21

    在Spring Boot中为Servlet配置添加过滤器

  22. 22

    如何在Play框架中为WebSocket请求添加过滤器

  23. 23

    如何在此查询的总和中添加过滤器(每周)以获取不同的值

  24. 24

    如何在grafana中按标签添加过滤器?

  25. 25

    如何在此查询的总和中添加过滤器(每周)以获取不同的值

  26. 26

    添加过滤器Wordpress(Shortcode在rss中不起作用)

  27. 27

    如何在 CustomAuthorizeAttribute Web API 中添加过滤器

  28. 28

    如何在 Sonata Admin Bundle 中为 configureListField 添加过滤器(createQuery 方法)

  29. 29

    Superset 如何在仪表板中添加过滤器

热门标签

归档