如何使用模板系統
讓我們深入研究模板系統,你將會明白它是如何工作的。但我們暫不打算將它與先前建立的檢視結合在一起,因為我們現在的目的是了解它是如何獨立工作的。 。 (換言之, 通常你會將模板和檢視一起使用,但是我們只是想突出模板系統是乙個python庫,你可以在任何地方使用它,而不僅僅是在django檢視中。)
在python**中使用django模板的最基本方式如下:
**如下:
>>> from django import template
>>> t = template.template('my name is }.')
>>> c = template.context()
>>> print t.render(c)
my name is adrian.
>>> c = template.context()
>>> print t.render(c)
my name is fred.
以下部分逐步的詳細介紹
建立模板物件
建立乙個 template 物件最簡單的方法就是直接例項化它。 template 類就在 django.template 模組中,建構函式接受乙個引數,原始模板**。 讓我們深入挖掘一下 python的直譯器看看它是怎麼工作的。
轉到project目錄(在第二章由 django-admin.py startproject 命令建立), 輸入命令 python manage.py shell 啟動互動介面。
乙個特殊的python提示符
如果你曾經使用過python,你一定好奇,為什麼我們執行python manage.py shell而不是python。這兩個命令都會啟動互動直譯器,但是manage.py shell命令有乙個重要的不同: 在啟動直譯器之前,它告訴django使用哪個設定檔案。 django框架的大部分子系統,包括模板系統,都依賴於配置檔案;如果django不知道使用哪個配置檔案,這些系統將不能工kxooih作。
如果你想知道,這裡將向你解釋它背後是如何工作的。 django搜尋django_settings_module環境變數,它被設定在settings.py中。例如,假設mysite在你的python搜尋路徑中,那麼django_settings_module應該被設定為:'mysite.settings'。
當你執行命令:python manage.py shell,它將自動幫你處理django_settings_module。 在當前的這些示例中,我們鼓勵你使用`` python mankxooihage.py shell``這個方法,這樣可以免去你大費周章地去配置那些你不熟悉的環境變數。
隨著你越來越熟悉django,你可能會偏向於廢棄使用`` manage.py shell`` ,而是在你的配置檔案.bash_profile中手動新增 django_settings_module這個環境變數。
讓我們來了解一些模板系統的基本知識:
>>> from django.template import template
>>> t = template('my name is }.')
>>> print t
如果你跟我們一起做,你將會看到下面的內容:
0xb7d5f24c 每次都會不一樣,這沒什麼關係;這只是python執行時 template 物件的id。
當你建立乙個 template 物件,模板系統在內部編譯這個模板到內部格式,並做優化,做好 渲染的準備。 如果你的模板語法有錯誤,那麼在呼叫 template() 時就會丟擲 templatesyntaxerror 異常:
>>> from django.template import template
>>> t = template('')
traceback (most recent call last):
file "", line 1, in ?
...django.template.templatesyntaxerror: invalid block tag: 'notatag'
這裡,塊標籤(block tag)指向的是`` ``,kxooih塊標籤與模板標籤是同義的。
系統會在下面的情形丟擲 templatesyntaxerror 異常:
本文標題: 在python的django框架中建立和使用模版
本文位址:
Python 使用Django開發Web框架
django符合mtv架構 django的安裝有兩種方法,具體可參考官網 這裡採用第二種方法,即option 2.get the latest development version,具體如下 dw mon tddba git clone dw mon tddba install cd django...
Python和Web開發之 Django框架 二
上節的內容中寫了一些簡單的入門基礎知識,包括安裝django 在django中建立乙個專案 執行開發伺服器等等內容,這次再介紹一些關於框架的基礎知識,對django多一些了解。學習過python的人一定知道python直譯器的強大之處。對於django而言,shell也存在於框架之中,在框架中pyt...
關於python在Django中分頁的實現
import math 每頁有pn num個物件 每個頁面顯示index number個頁索引 當前pn頁 obj要查詢的模型類 def pages pn num,index number,pn,obj 最大頁數sum page 最小頁數1頁 每頁有pn num個物件 目前是pn頁 pn int p...