2022-10-08 過濾器 過濾器的含義: 過濾器即篩選出我們設定需要的,過濾掉我們不需要的數據。 過濾器使用的場景: 例如:在子應用的“views.py”中的一個類中的函數設置了一個請求在瀏覽器頁面顯示“組織內容”,例如:在“組織內容”中設置了一個“birthday:datatime.now() ...
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'%}”表示模塊繼承。