項目中的CSS、圖片、js都是靜態文件。一般會將靜態文件放到一個單獨的目錄中,以方便管理。在html頁面中調用時,也需要指定靜態文件的路徑,Django中提供了一種解析的方式配置靜態文件路徑。靜態文件可以放在項目根目錄下,也可以放在應用的目錄下,由於有些靜態文件在項目中是通用的,所以推薦放在項目的根目錄下,方便管理。
為了提供靜態文件,需要 配置兩個參數:
- STATICFILES_DIRS 存放查找靜態文件的目錄
- STATIC_URL 訪問靜態文件的URL前綴
示例:
1) 在項目根目錄下創建static_files目錄來保存靜態文件。
2) 在demo/settings.py中修改靜態文件的兩個參數為
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static_files'), ]
3)此時在static_files添加的任何靜態文件都可以使用網址 /static/文件在static_files中的路徑 來訪問了。
例如,我們向static_files目錄中添加一個index.html文件,在瀏覽器中就可以使用127.0.0.1:8000/static/index.html來訪問。
或者我們在static_files目錄中添加了一個子目錄和文件goods/detail.html,在瀏覽器中就可以使用127.0.0.1:8000/static/goods/detail.html來訪問。
注意:
Django 僅在調試模式下(DEBUG=True)能對外提供靜態文件。
當DEBUG=False工作在生產模式時,Django不再對外提供靜態文件,需要是用collectstatic命令來收集靜態文件並交由其他靜態文件服務器來提供。
