亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Python的Django框架中的模版相關知識

 更新時間:2015年07月15日 11:27:01   投稿:goldensun  
這篇文章主要介紹了Python的Django框架中的模版相關知識,模版的存在大大簡化了創(chuàng)作頁面時HTML的相關工作,需要的朋友可以參考下

HTML被直接硬編碼在 Python 代碼之中。

def current_datetime(request):
  now = datetime.datetime.now()
  html = "<html><body>It is now %s.</body></html>" % now
  return HttpResponse(html)

盡管這種技術便于解釋視圖是如何工作的,但直接將HTML硬編碼到你的視圖里卻并不是一個好主意。 讓我們來看一下為什么:

  •     對頁面設計進行的任何改變都必須對 Python 代碼進行相應的修改。 站點設計的修改往往比底層 Python 代碼的修改要頻繁得多,因此如果可以在不進行 Python 代碼修改的情況下變更設計,那將會方便得多。
  •     Python 代碼編寫和 HTML 設計是兩項不同的工作,大多數(shù)專業(yè)的網(wǎng)站開發(fā)環(huán)境都將他們分配給不同的人員(甚至不同部門)來完成。 設計者和HTML/CSS的編碼人員不應該被要求去編輯Python的代碼來完成他們的工作。
  •     程序員編寫 Python代碼和設計人員制作模板兩項工作同時進行的效率是最高的,遠勝于讓一個人等待另一個人完成對某個既包含 Python又包含 HTML 的文件的編輯工作。

基于這些原因,將頁面的設計和Python的代碼分離開會更干凈簡潔更容易維護。 我們可以使用 Django的 模板系統(tǒng) (Template System)來實現(xiàn)這種模式,這就是本章要具體討論的問題。


模板系統(tǒng)基本知識

模板是一個文本,用于分離文檔的表現(xiàn)形式和內容。 模板定義了占位符以及各種用于規(guī)范文檔該如何顯示的各部分基本邏輯(模板標簽)。 模板通常用于產生HTML,但是Django的模板也能產生任何基于文本格式的文檔。

讓我們從一個簡單的例子模板開始。 該模板描述了一個向某個與公司簽單人員致謝 HTML 頁面。 可將其視為一個格式信函:

<html>
<head><title>Ordering notice</title></head>

<body>

<h1>Ordering notice</h1>

<p>Dear {{ person_name }},</p>

<p>Thanks for placing an order from {{ company }}. It's scheduled to
ship on {{ ship_date|date:"F j, Y" }}.</p>

<p>Here are the items you've ordered:</p>

<ul>
{% for item in item_list %}
  <li>{{ item }}</li>
{% endfor %}
</ul>

{% if ordered_warranty %}
  <p>Your warranty information will be included in the packaging.</p>
{% else %}
  <p>You didn't order a warranty, so you're on your own when
  the products inevitably stop working.</p>
{% endif %}

<p>Sincerely,<br />{{ company }}</p>

</body>
</html>

該模板是一段添加了些許變量和模板標簽的基礎 HTML 。 讓我們逐步分析一下:

    用兩個大括號括起來的文字(例如 {{ person_name }} )稱為 變量(variable) 。這意味著在此處插入指定變量的值。 如何指定變量的值呢? 稍后就會說明。

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

    這個例子中的模板包含一個for標簽( {% for item in item_list %} )和一個if 標簽({% if ordered_warranty %} )

    for標簽類似Python的for語句,可讓你循環(huán)訪問序列里的每一個項目。 if 標簽,正如你所料,是用來執(zhí)行邏輯判斷的。 在這里,tag標簽檢查ordered_warranty值是否為True。如果是,模板系統(tǒng)將顯示{% if ordered_warranty %}和{% else %}之間的內容;否則將顯示{% else %}和{% endif %}之間的內容。{% else %}是可選的。

    最后,這個模板的第二段中有一個關于filter過濾器的例子,它是一種最便捷的轉換變量輸出格式的方式。 如這個例子中的{{ship_date|date:”F j, Y” }},我們將變量ship_date傳遞給date過濾器,同時指定參數(shù)”F j,Y”。date過濾器根據(jù)參數(shù)進行格式輸出。 過濾器是用管道符(|)來調用的,具體可以參見Unix管道符。

Django 模板含有很多內置的tags和filters,我們將陸續(xù)進行學習. 附錄F列出了很多的tags和filters的列表,熟悉這些列表對你來說是個好建議. 你依然可以利用它創(chuàng)建自己的tag和filters。

相關文章

  • Pycharm-community-2021版安裝和配置

    Pycharm-community-2021版安裝和配置

    pycharm-community-PyCharm是一種Python IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,本文就來介紹一下Pycharm-community-2021版安裝和配置,感興趣的可以了解一下
    2023-11-11
  • Python實現(xiàn)動態(tài)條形圖繪制的示例代碼

    Python實現(xiàn)動態(tài)條形圖繪制的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Python語言實現(xiàn)動態(tài)條形圖的繪制,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-08-08
  • Python Json序列化與反序列化的示例

    Python Json序列化與反序列化的示例

    這篇文章主要介紹了Python Json序列化與反序列化的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Python使用paramiko操作linux的方法講解

    Python使用paramiko操作linux的方法講解

    今天小編就為大家分享一篇關于Python使用paramiko操作linux的方法講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Python基于百度AI的文字識別的示例

    Python基于百度AI的文字識別的示例

    本篇文章主要介紹了Python基于百度AI的文字識別的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • keras的ImageDataGenerator和flow()的用法說明

    keras的ImageDataGenerator和flow()的用法說明

    這篇文章主要介紹了keras的ImageDataGenerator和flow()的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python eval函數(shù)介紹及用法

    Python eval函數(shù)介紹及用法

    在本篇文章里小編給大家整理的是一篇關于Python eval函數(shù)介紹及用法,有興趣的朋友們可以參考下。
    2020-11-11
  • python文件處理詳解

    python文件處理詳解

    這篇文章主要介紹了Python 處理文件的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-10-10
  • python區(qū)塊及區(qū)塊鏈的開發(fā)詳解

    python區(qū)塊及區(qū)塊鏈的開發(fā)詳解

    這篇文章主要介紹了python區(qū)塊及區(qū)塊鏈的開發(fā)詳解的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python Color類與文字繪制零基礎掌握

    Python Color類與文字繪制零基礎掌握

    這篇文章主要介紹了Python Color類與文字繪制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08

最新評論