2022-10-08
過濾器
過濾器的含義:
過濾器即篩選出我們設定需要的,過濾掉我們不需要的資料,
過濾器使用的場景:
例如:在子應用的“views.py”中的一個類中的函式設定了一個請求在瀏覽器頁面顯示“組織內容”,例如:在“組織內容”中設定了一個“birthday:datatime.now()”,在“templates”檔案夾中的“index.html”檔案中獲取設定的“birthday”內容,如果直接寫成“{{birthday}}”,得到的結果日期格式是“月,日,年”,如果要變為常規的“年 月 日”,則需要一個過濾器,即按照既定想法設定資料格式,
格式如下:{{birthday|date:"Y年 m月 d日"}},注意日期是“date”,而不是“data”,“data”是資料,除此之外,“Y年 m月 d日”需要加引號,要不然會報錯,它表示的是要顯示的內容,
過濾器的類別:,
(1)safe
safe表示的是如果在“組織內容”中碰到“<script></script>”,對應在“index.html”中呼叫的內容如果使用了過濾器,則不會轉義,碰到的那段描述直接轉為“script”語言,例如在"view.py"中的一個類中設定的一個函式中,
context ={ 'desc':<script>alter('哈哈')<script> }
在“index.html”中使用過濾器獲取到“desc”:
desc中的內容{{desc|safe}}
(2)default(默認引數)
(3)length
-------------------------------------------------------
模板繼承
使用模板繼承的目的:
減少代碼的冗余度,
模板繼承的實體:
首先在“templates”中創建一個“base.html”檔案,放置“模板檔案”,后創建一個“detail.html”檔案,實作模板繼承,
例如:“base.html”檔案
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {% block header %} <h1>頂部</h1> {% endblock header %} {% block main %} <h1>主要部分</h1> {% endblock main %} {% block bottom %} <h1>尾部</h1> {% endblock bottom %} </body> </html>
“detail.html”檔案
{% extends 'base.html'%} # 如果繼承內容有變動,那么使用重寫的方式 {% block main %} <a href="#">戳我,戳我有驚喜</a> {% endblock main %}
說明:其中的“{% extends 'base.html'%}”表示模塊繼承,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/511028.html
標籤:其他
下一篇:驅動開發:判斷自身是否加載成功
