• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            c++實例研究

            從0開始

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              104 隨筆 :: 0 文章 :: 20 評論 :: 0 Trackbacks
            用兩個大括號括起來的文字(例如 {{ person_name }} )是 變量(variable)

            被大括號和百分號包圍的文本(例如 {% if ordered_warranty %} )是 模板標簽(template tag) 。標簽(tag)定義比較明確,即:僅通知模板系統完成某些工作的標簽。

            最后,這個模板的第二段落有一個 filter 過濾器的例子,它能讓你用來轉換變量的輸出, 在這個例子中, {{ship_date|date:"F j, Y" }} 將變量 ship_datedate 過濾器來轉換,轉換的參數是 "F j, Y" . date 過濾器根據指定的參數進行格式輸 出.過濾器是用管道字符( | )來調用的,就和Unix管道一樣.

            Template 類就在 django.template 模塊中

            輸入命令 python manage.py shell 啟動交互界面

            調用 Template 對象 的 render() 方法并傳遞context來填充模板

            Python的字典數據類型就是關鍵字和它們值的一個映射。 Context 和字典很類似

            注意到我們使用了三個引號來 標識這些文本,因為這樣可以包含多行。這是Python的一個語法。

            Python列表類型的索引是從0開始的,第一個元素的索引是0,第二個是1,以此類推。

            句點查找規則可概括為:當模板系統在變量名中遇到點時,按照以下順序嘗試進行查找:

            • 字典類型查找 (比如 foo["bar"] )

            • 屬性查找 (比如 foo.bar )

            • 方法調用 (比如 foo.bar() )

            • 列表類型索引查找 (比如 foo[bar] )

            在方法查找過程中,如果某方法拋出一個異常,除非該異常有一個 silent_variable_failure 屬性并且值為 True ,否則的話它將被傳播。如果該異常 確有 屬性 silent_variable_failure ,那么(所查找)變量將被渲染為空字符串

            顯然,有些方法是有副作用的,好的情況下允許模板系統訪問它們可能只是干件蠢事,壞的情況下甚至會引發安全漏洞。

            例如,你的一個 BankAccount 對象有一個 delete() 方法。不應該允許模板包含像 {{account.delete}} 這樣的方法調用。

            要防止這樣的事情發生,必須設置該方法的 alters_data 函數屬性

            {% if %} 標簽檢查(evaluate)一個變量,如果這個變量為真(即,變量存在,非空,不是布爾值假),系統會顯示在 {% if %}{% endif %} 之間的任何內容

            {% if %} 標簽接受 andor 或者 not 關鍵字來對多個變量做判斷 ,或者對變量取反( not )

            {% if %} 標簽不允許在同一個標簽中同時使用 andor ,因為邏輯上可能模糊的

            系統不支持用圓括號來組合比較操作

            {% for %} 允許我們在一個序列上迭代。與Python的 for 語句的情形類似,循環語法是 for X in Y ,Y是要迭代的序列而X是在每一個特定的循環中使用的變量名稱

            給標簽增加一個 reversed 使得該列表被反向迭代

            Django不支持退出循環操作。如果我們想退出循環,可以改變正在迭代的變量,讓其僅僅包含需要迭代的項目

            forloop.counter 總是一個表示當前循環的執行次數的整數計數器。這個計數器是從1開始的,所以在第一次循環時 forloop.counter 將會被設置為1

            forloop.counter0 類似于 forloop.counter

            forloop.revcounter 是表示循環中剩余項的整型變量

            forloop.revcounter0 類似于 forloop.revcounter ,但它以0做為結束索引。

            forloop.first 是一個布爾值。在第一次執行循環時該變量為True,在下面的情形中這個變量是很有用的。

            forloop.last 是一個布爾值;在最后一次執行循環時被置為True。

            forloop.parentloop 是一個指向當前循環的上一級循環的 forloop 對象的引用(在嵌套循環的情況下)

            Django模板系統壓根兒就沒想過實現一個全功能的編程語言,所以它不允許我們在模板中執行Python的語句


            posted on 2010-06-17 22:45 elprup 閱讀(477) 評論(0)  編輯 收藏 引用 所屬分類: web開發
            久久久久亚洲精品天堂久久久久久 | 久久影院久久香蕉国产线看观看| 2021国内精品久久久久久影院| 国产亚洲综合久久系列| 亚洲国产精品无码久久一线| 久久国产乱子伦免费精品| 久久精品国产亚洲沈樵| 久久人妻少妇嫩草AV无码蜜桃| 国产午夜精品久久久久九九电影| 日本免费一区二区久久人人澡| 国产精品狼人久久久久影院| 国产aⅴ激情无码久久| 国产欧美久久久精品| 亚洲色欲久久久久综合网| 久久超碰97人人做人人爱| 精品综合久久久久久88小说| 无码人妻久久一区二区三区| 久久狠狠色狠狠色综合| 欧美久久综合九色综合| 久久精品国产精品亚洲毛片 | 欧美黑人又粗又大久久久| 99久久伊人精品综合观看| 久久精品国产99国产精品亚洲| 77777亚洲午夜久久多喷| 狠狠色丁香久久婷婷综合蜜芽五月 | 无码人妻久久一区二区三区蜜桃| 2021国产精品久久精品| 精品久久人人做人人爽综合| 好属妞这里只有精品久久| 热re99久久6国产精品免费| 日本加勒比久久精品| 国产亚州精品女人久久久久久| 亚洲人成网亚洲欧洲无码久久 | 伊人久久大香线蕉亚洲五月天| 无码AV波多野结衣久久| 久久久无码精品亚洲日韩京东传媒| 国产欧美一区二区久久| 久久国产色AV免费看| 久久亚洲高清观看| 品成人欧美大片久久国产欧美...| 日日噜噜夜夜狠狠久久丁香五月|