<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                Jinja2 與 Jinja1 在 API 使用和模板語法上最為兼容。下面的列表解釋了 Jinja1 和 Jinja2 的區別。 ### API[](http://docs.jinkan.org/docs/jinja2/switching.html#api "Permalink to this headline") 加載器 Jinja2 使用不同的加載器 API 。因為模板的內部表示更改,不再支持 memcached 這樣的外部緩存系統。模板的內存開銷與常規的 Python 模塊相當,外部緩存不能 帶來優勢。如果你以前使用了一個自定義的加載器,請閱讀?[*loader API*](http://docs.jinkan.org/docs/jinja2/api.html#loaders)?部分。 從字符串加載模板 在過去,在默認環境配置中使用?jinja.from_string?從字符串生成模板是可能 的。 Jinja2 提供了一個?Template?類來用于做同樣的事情,但是需要 可選的額外配置。 自動 Unicode 轉換 Jinja1 執行把字節串從一個給定編碼到 unicode 對象的自動轉換。這個轉換不再 被實現,因為它與大多數使用常規 Python ASCII 字節串到 Unicode 轉換的庫不 一致。一個由 Jinja2 驅動的應用?*必須*?在內部的每個地方都使用 unicode 或 確保 Jinja2 只會被傳遞 unicode 字符串。 i18n Jinja1 使用自定義的國際化翻譯器。 i18n 現在作為 Jinja2 的一個擴展,并且 使用更簡單、更 gettext 友好的接口,并且支持 babel 。更多細節見?[*i18n 擴展*](http://docs.jinkan.org/docs/jinja2/extensions.html#i18n-extension)?。 內部方法 Jinja1 在環境對象上暴露了諸如?call_function?、?get_attribute?等內部 方法。當它們被標記為一個內部方法,則可以覆蓋它們。 Jinja2 并沒有等價的 方法。 沙箱 Jinja1 默認運行沙箱模式。實際上只有少數應用使用這一特性,所以這在 Jinja2 中是可選的。更多關于上下執行的細節見?SandboxedEnvironment?。 上下文 Jinja1 有一個上下文棧存儲傳遞到環境的變量。在 Jinja2 中有一個類似的 對象,但它不允許修改也不是單例的。由于繼承是動態的,現在當模板求值時 可能存在多個上下文對象。 過濾器和測試 過濾器和測試現在是常規的函數。不再允許使用工廠函數,且也沒有必要。 ### 模板[](http://docs.jinkan.org/docs/jinja2/switching.html#id2 "Permalink to this headline") Jinja2 與 Jinja1 的語法幾乎相同。區別是,現在宏需要用小括號包裹參數。 此外, Jinja2 允許動態繼承和動態包含。老的輔助函數?rendertemplate?作古, 而使用include?。包含不再導入宏和變量聲明,因為采用了新的?import?標簽。 這個概念在?[*導入*](http://docs.jinkan.org/docs/jinja2/templates.html#import)文檔中做了解釋。 另一個改變發生在?for?標簽里。特殊的循環變量不再擁有?parent?屬性,而 你需要自己給循環起別名。見?[*訪問父級循環*](http://docs.jinkan.org/docs/jinja2/tricks.html#accessing-the-parent-loop)?了解更多細節。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看