html语言可以写模版继承吗,16-Django的模板语言(变量,标签,过滤器,继承,html转义)...
模板語言
模板語言簡稱為DTL(Django Template Language)
模板變量
模板變量名由數字,字母,下劃線和點組成,不能以下劃線開頭。
使用:{{模板變量名}}
def index2(request):
'''模板加載順序'''
return render(request, 'booktest/index2.html')
# /temp_var
def temp_var(request):
'''模板變量'''
my_dict = {'title': '字典鍵值'}
my_list = [1, 2, 3]
book = BookInfo.objects.get(id=1)
#定義模板上下文
context={'my_dict':my_dict,'my_list':my_list,'book':book}
return render(request,'booktest/temp_var.html',context)
模板變量可以是字典,列表或者對象。定義好模板上下文之后,用render()函數傳遞給html
模板變量使用字典屬性:{{ my_dict.title }}
使用列表元素:{{ my_list.1 }}
使用對象屬性:{{ book.btitle }}
可以看到模板變量都是通過 . 調用的。
模板標簽
模板標簽background-color: red;
}
.yellow{
background-color: yellow;
}
.green{
background-color: green;
}
{% for book in books %}
{% if book.id <= 2 %}
{{ forloop.counter }}--{{ book.btitle }}{% elif book.id >= 5 %}
{{ forloop.counter }}--{{ book.btitle }}{% else %}
{{ forloop.counter }}--{{ book.btitle }}{% endif %}
{% endfor %}
具體的其他的模板標簽可以參考Django官方文檔。
過濾器
過濾器用于對模板變量進行操作
date:改變日期的顯示格式
length:求長度,字符串,列表,元祖,字典
default:設置模板變量的默認值
格式:模板變量 | 過濾器:參數
date過濾器
{{ book.btitle }}--{book.bpub_date | date:'Y年-m月-d日'}default過濾器
{{dd | default:'無'}}
模板注釋
單行注釋:{# 注釋 #}
多行注釋:{% comment %}
模板繼承
不同頁面可能有相同的模塊,這時候可以使用模板繼承減少代碼量
base.html內容
父模板導航條
{% block b1 %}
這是父模板b1塊中的內容
{% endblock b1 %}
版權信息
child.html內容
{% extends 'booktest/base.html' %}
{% block b1 %}
{{ block.super }}
這是子模板b1的內容
{% endblock b1 %}
在父模板中{% block b1 %}
這是父模板b1塊中的內容
{% endblock b1 %}定義一個預留快,預留塊中可以有內容。子模板繼承時,{% extends 'booktest/base.html' %}導入,{% block b1 %} {{ block.super }}
這是子模板b1的內容
{% endblock b1 %}寫預留塊,{{ block.super }}繼承預留快的內容。html轉義
通過render()函數傳遞過來的模板上下文默認是轉義的,也就是說我們想傳遞html語言的時候,實際上傳遞過來的是字符串,這個時候我們可以通過過濾器關閉轉義
{{context | safe}}
總結
以上是生活随笔為你收集整理的html语言可以写模版继承吗,16-Django的模板语言(变量,标签,过滤器,继承,html转义)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android componentnam
- 下一篇: html事件隐藏,Html事件列表