av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

python - django 模板里如何多個值相加?

瀏覽:70日期:2022-08-13 09:04:21

問題描述

models.py

class Order(models.Model): price_a = models.PositiveIntegerField(blank=True, null=True) price_b = models.PositiveIntegerField(blank=True, null=True) price_c = models.PositiveIntegerField(blank=True, null=True)

views.py

def order_list(): order_list = Order.objects.all() return render(request, ’orders/order_list.html’, {’order_list’: order_list})

模板:

{% for order in order_list %} price_* 可能是 None 這里想輸出 price_a + price_b + price_b 的總和 下面這個寫法沒有用: {{ price_a|add:price_b|add:price_c }}{% endfor %}

求解,或者有沒有其他的實現方法?

問題解答

回答1:

根據你所述的需求,有兩種解決辦法:1,在views.py里面計算好之后再傳到模板里面;2,自定義模板filters來實現,具體實現方式如下:

第一步:在你項目的app目錄下新建templatetags文件夾(該文件夾和你的views.py和models.py同級),并在該文件夾下新建__init__.py和add_value.py文件,目錄結構如下:

|-- views.py|-- models.py|templatetags |-- __init__.py |-- add_value.py

第二步:編輯__init__.py和add_value.py文件。__init__.py文件為空即可,add_value.py文件內容如下:

# coding:utf-8__author__ = ’Dell’from django import templateregister = template.Library()@register.filter(name=’add_value’)def add_value(values): count = 0 # 這里的values就是你使用該標簽時傳入的參數,在這個例子里面values就是render的時候傳給模板的order_list的值 # 所以這里可以根據你實際傳入的值做處理 for v in values:if v[’key’]: count += int(v[’key’]) return count

第三步:在views.py里面:

# 這里假設你order_list的值是[{’key’: 1}, {’key’: 2}, {’key’: 3}]render(request, ’orders/order_list.html’, {’order_list’: [{’key’: 1}, {’key’: 2}, {’key’: 3}]})

第四步:在你的order_list.html模板里面加入{% load add_value %},然后使用<p>{{ order_list|add_value }}</p>

最后應該就可以實現你的需求了,希望可以幫到你哈。

回答2:

你不可以直接在view里面處理好再在模板里面引用嗎?

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美在线高清 | 国产高清一区二区 | 日韩视频在线播放 | 亚洲人成在线播放 | 欧美福利| 一区2区 | 国产精品无 | 亚洲高清在线 | 国产成人高清视频 | 国产乱码精品一区二区三区中文 | 久久久久久国产精品 | 国产乱码久久久久久一区二区 | 黄色欧美| 特一级黄色毛片 | 精品av| 蜜桃在线播放 | 一级欧美一级日韩片免费观看 | 成人影院在线视频 | 久久一区二区视频 | 日韩精品一区二区三区免费观看 | 国产又爽又黄的视频 | av在线播放网| 国产亚洲日本精品 | 国产精品久久久久久久久久免费 | 91社影院在线观看 | 天天碰日日操 | 人人草天天草 | 欧美国产日韩在线 | 国产精品爱久久久久久久 | 日韩欧美一区二区三区免费看 | 九九热九九 | 在线观看久草 | 亚洲成人精品 | 日韩h | 午夜国产羞羞视频免费网站 | 亚洲一区精品视频 | 一区二区三区视频在线 | 一区二区久久 | 成人免费福利 | 狼色网 | 久久久久久国产精品免费免费狐狸 |