目錄
模板載入機制
render()
include模板標籤
模板繼承
+ 編寫模板字串,建立 template 物件,建立 context 物件,然後呼叫 render() 方法。
+ **示例:
```>>> from django import template
>>> t = template.template('my name is }.') # 建立模板物件
>>> c = template.context() # 上下文(模板變數和相應的值)
>>> print (t.render(c)) # 渲染模板
my name is nige.
```
+ 執行 python manage.py shell 啟動互動式直譯器,能在啟動直譯器之前,告訴django 使用哪個設定檔案,否則會拋異常
模板系統在變數處插入引擎的 string_if_invalid 配置選項,(預設為乙個空字串):
for標籤
ifequal/ifnotequal標籤
注釋
+ }: lower 過濾器調整 } 變數的值——把文字轉換成小寫
+ 過濾器可以串接:},獲取列表中的第乙個元素,然後將其轉換成大寫
+ 有些過濾器可以接受引數:},顯示 bio 變數的前 30 個詞
+ addslashes :在反斜線、單引號和雙引號前面新增乙個反斜線:}
+ date :根據引數中的格式字串格式化 date 或 datetime 物件:},
+ length :返回值的長度。對列表來說,返回元素的數量。對字串來說,返回字元的數量。如果變數未定義,返回 0 。
在專案根目錄中放一些主模板(例如在 mysite/templates 目錄中):'dirs': [os.path.join(base_dir, 'templates')],
檢視函式中使用模板載入機制
from django.template.loader import get_template
t = get_template('current_datetime.html') # 傳入模組名稱,返回模板物件
html = t.render(context()) # 出現型別錯誤,需要字典dir物件而不是context物件,去掉context直接或使用context().update()
render() 的第乙個引數是請求物件,第二個引數是模板名稱,第三個單數可選,是乙個字段,用於建立傳給模板的上下文。如果不指定第三個引數, render() 使用乙個空字典。
定義有區別的片段
子模板可以覆蓋塊的內容、向塊中新增內容,或者原封不動。
# 宣告子模組,載入父模組,要出現在子模組的第乙個模板標籤,使用與 get_template() 相同的方法載入
覆蓋的內容
從父模板中的塊裡獲取內容,使用 } ,這是乙個「魔法」變數,提供父模板中渲染後的文字。向塊中新增內容,而不是完全覆蓋時就可以這麼做
django 3 模板引擎
目錄模板載入機制 render include模板標籤 模板繼承 編寫模板字串,建立 template 物件,建立 context 物件,然後呼叫 render 方法。示例 from django import template t template.template my name is 建立模板...
Django 3 管理介面
django管理介面是乙個通過簡單的配置就可以實現的資料模型後台的web控制台 1.from django.contrib import admin register your models here.from models import moment admin.site.register mom...
在ubntu上學習使用django 3
建立乙個工程 sudo apt get remove vim common然後再安裝上vim sudo apt get install vim 然後再使用vi即可編輯檔案,可是編輯時也出現一些錯誤 不能編寫,然後找到了一些方法如下 移動游標類命令 h 游標左移乙個字元 l 游標右移乙個字元 spac...