日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html语言可以写模版继承吗,16-Django的模板语言(变量,标签,过滤器,继承,html转义)...

發布時間:2025/3/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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转义)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。