欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

django框架模板中定義變量(set variable in django template)的方法分析

 更新時間:2019年06月24日 10:24:48   作者:輕舞肥羊  
這篇文章主要介紹了django框架模板中定義變量(set variable in django template)的方法,結(jié)合實例形式分析了Django框架實現(xiàn)模板中定義變量與變量賦值相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了django框架模板中定義變量的方法。分享給大家供大家參考,具體如下:

總有一些情況,你會想在django template中設(shè)置臨時變量,但是django 對在模板中對臨時變量的賦值沒有很好的開箱即用的tag 或者filter。但是還是能通過一些其他方法實現(xiàn)的。

1. 利用 django 自帶的 with 標(biāo)簽實現(xiàn)
2. 利用自定義 tag  實現(xiàn),應(yīng)該靈活很多.

利用 django 自帶的 with 標(biāo)簽實現(xiàn)對變量賦值

好像在django 1.3 之后才支持這種做法

從context中得到值進(jìn)行賦值

{% with total=business.employees.count %}
  {{ total }} employee{{ total|pluralize }}
{% endwith %}

當(dāng)然也可以直接給一個常量

{%with age=100%}
{{ age|add:"2" }}
....
{%with%}

2 自定義標(biāo)簽方式現(xiàn)實在django template 中給變量賦值

from django import template
register = template.Library()
class SetVarNode(template.Node):
  def __init__(self, var_name, var_value):
    self.var_name = var_name
    self.var_value = var_value
  def render(self, context):
    try:
      value = template.Variable(self.var_value).resolve(context)
    except template.VariableDoesNotExist:
      value = ""
    context[self.var_name] = value
    return u""
def set_var(parser, token):
  """
    {% set <var_name> = <var_value> %}
  """
  parts = token.split_contents()
  if len(parts) < 4:
    raise template.TemplateSyntaxError("'set' tag must be of the form: {% set <var_name> = <var_value> %}")
  return SetVarNode(parts[1], parts[3])
register.tag('set', set_var)

在 template 中應(yīng)用時,現(xiàn)在模板中l(wèi)oad這個標(biāo)簽所在文件。然后用類似如下方式處理

{% load set_var %}
{% set a = 3 %}
{% set b = some_context_variable %}
{% set c = "some string" %}

這樣就實現(xiàn)了在django 模板中 對變量進(jìn)行賦值和處理.

希望本文所述對大家基于Django框架的Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python基于Twilio及騰訊云實現(xiàn)國際國內(nèi)短信接口

    Python基于Twilio及騰訊云實現(xiàn)國際國內(nèi)短信接口

    這篇文章主要介紹了Python基于Twilio及騰訊云實現(xiàn)國際國內(nèi)短信接口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 一篇文章搞懂Python的文件路徑操作

    一篇文章搞懂Python的文件路徑操作

    這篇文章主要給大家介紹了關(guān)于Python文件路徑操作的相關(guān)資料,在python中我們會經(jīng)常的對文件使用路徑,文件路徑通常有兩種,分別為絕對路徑、相對路徑,需要的朋友可以參考下
    2023-07-07
  • 詳解Python pygame安裝過程筆記

    詳解Python pygame安裝過程筆記

    本篇文章主要介紹了詳解Python pygame安裝過程筆記。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • python3 如何使用 goto 跳轉(zhuǎn)執(zhí)行到指定代碼行

    python3 如何使用 goto 跳轉(zhuǎn)執(zhí)行到指定代碼行

    這篇文章主要介紹了python3 使用goto跳轉(zhuǎn)執(zhí)行到指定代碼行的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • opencv?傅里葉變換的實現(xiàn)

    opencv?傅里葉變換的實現(xiàn)

    本文主要介紹了opencv?傅里葉變換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-06-06
  • python中的Numpy二維數(shù)組遍歷與二維數(shù)組切片后遍歷效率比較

    python中的Numpy二維數(shù)組遍歷與二維數(shù)組切片后遍歷效率比較

    這篇文章主要介紹了python中的Numpy二維數(shù)組遍歷與二維數(shù)組切片后遍歷效率比較,在python-numpy使用中,可以用雙層?for循環(huán)對數(shù)組元素進(jìn)行訪問,也可以切片成每一行后進(jìn)行一維數(shù)組的遍歷,下面小編擊來舉例介紹吧,需要的朋友可以參考一下
    2022-03-03
  • python+matplotlib繪制簡單的海豚(頂點和節(jié)點的操作)

    python+matplotlib繪制簡單的海豚(頂點和節(jié)點的操作)

    這篇文章主要介紹了python+matplotlib繪制簡單的海豚(頂點和節(jié)點的操作),具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python實現(xiàn)簡易圖書管理系統(tǒng)

    python實現(xiàn)簡易圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)簡易圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python實現(xiàn)redis三種cas事務(wù)操作

    python實現(xiàn)redis三種cas事務(wù)操作

    本篇文章主要介紹了python實現(xiàn)redis三種cas事務(wù)操作,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Python3爬蟲學(xué)習(xí)之MySQL數(shù)據(jù)庫存儲爬取的信息詳解

    Python3爬蟲學(xué)習(xí)之MySQL數(shù)據(jù)庫存儲爬取的信息詳解

    這篇文章主要介紹了Python3爬蟲學(xué)習(xí)之MySQL數(shù)據(jù)庫存儲爬取的信息,涉及Python3針對mysql數(shù)據(jù)庫的連接、信息存儲等相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12

最新評論