Django:settings中關於static靜態文件目錄的設置


django項目settings中關於靜態資源存放位置的設置
主要涉及以下3項:STATIC_URL、STATICFILES_DIR和STATIC_ROOT

1、STATIC_URL

這項是必須配置的,而且屬性值不能為空。默認值是STATIC_URL = '/static/'。

  • 如果STATICFILES_DIR沒有設置,則只能識別app中static文件夾下的靜態資源。即:只能通過http://127.0.0.1:8000/static/1.jpg訪問,且static文件夾是放在app中的。
    • app中靜態文件夾名稱必須是static,即STATIC_URL屬性的值。如果寫其他名稱,則不能訪問。
    • STATIC_URL的值,表示訪問靜態資源的起始url,如:http://127.0.0.1:8000/static/......
    • 如果直接把static文件夾放在項目根目錄下,通過上面的網址是不能訪問的,除非設置STATICFILES_DIR。

2、STATICFILES_DIR

如果想在項目的根目錄下存放靜態資源,則需要設置STATICFILES_DIRS屬性。該屬性的值是列表或元組格式,每個列表(元組)元素代表一個靜態資源文件夾,這些文件夾可以自行命名,不必非得是static。

  • 如:在項目根目錄下建立文件夾public_static,里面放置圖片1.jpg,在app(index)中建立文件夾index_static,里面放置2.jpg,都用於存放靜態文件。
  • 則配置:STATICFILES_DIRS = [os.path.join(BASE_DIR, 'public_static'), os.path.join(BASE_DIR, 'index/index_static'),]
  • 訪問靜態文件的路徑是:http://127.0.0.1:8000/static/1.jpg;http://127.0.0.1:8000/static/2.jpg.

綜上可見,訪問靜態資源的路徑(起始路徑)由STATIC_URL的屬性值決定,如果靜態文件夾中還有別的文件夾(如test),訪問時的路徑則是http://127.0.0.1:8000/static/test/1.jpg

3、STATIC_ROOT

它的作用主要是收集整個項目的靜態資源,並存放在一個新的文件夾,然后由該文件夾與服務器之間構建映射關系。

  • STATIC_ROOT配置如下:STATIC_ROOT = os.path.join(BASE_DIR, 'all_static')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM