Django學習筆記:靜態(tài)資源加載
靜態(tài)文件包括了js、css、圖片、音頻、視頻,顯然這種資源不太適合每個都寫一個視圖函數(shù)來匹配。故需要有一個位置存放靜態(tài)文件,但請求是靜態(tài)文件的請求的時候,直接映射到靜態(tài)文件目錄下獲取資源。
在springboot中通過配置靜態(tài)資源映射就可以實現(xiàn),在nginx中也是配置位置就可以實現(xiàn)網(wǎng)站頁面的對外服務(wù),在django中的訪問路徑配置是在settings.py中進行的,默認STATIC_URL='/static/' ,意為若是訪問的url路徑中是/static/XXX直接放行到靜態(tài)資源目錄里去,至于靜態(tài)資源目錄位置的配置,則是STATICFILES_DIRS來說明,該配置項作為元組,可以設(shè)置多個可存放靜態(tài)資源的路徑


在模板中,加載靜態(tài)資源有兩個方式,第一種方法是通過指定src去利用訪問路徑再映射到資源目錄去讀取資源文件,第二種方法途徑是通過static標簽去直接得到資源路徑讀取資源文件,我這里更喜歡第二種方式,這是動態(tài)的,哪怕settings.py的STATIC_URL改變了也不會有問題,但是第二種方式需要去提前加載{%load static%},忘記寫就會報錯。
本質(zhì)上是通過渲染模板過程中讀取static標簽后對內(nèi)容解析,join在STATIC_URL后面,形成一個新的src。這一過程并不麻煩,也比較直觀的體現(xiàn)出了配置背后的抽取思想
標簽: