以Pycharm為例設定Django專案static資料夾

首頁 >> 結帳英文 >> 以Pycharm為例設定Django專案static資料夾

之前提到過template模板範例教學,

為了調整版面或者調整字型或者顏色等等,

會幫網頁加入CSS檔案,

舉凡css , js , img 等等這些檔案,

通常會找個固定的資料夾存放,

而這個資料夾在Django如何設定,

就是今天的主題了:

以Pycharm為例設定Django專案static資料夾

首先找到專案的settings.py,

確定

django.contrib,staticfiles

是否在INSTALL_APPS中

INSTALLED_APPS = [
     ..省略..    
    'django.contrib.staticfiles',
]

如果專案有使用此套件而且DEBUG=True,

可直接在網址列確認該檔案是否已經在網站,

這在開發上比較方便,

但不適合正式上線使用,

所以正式上線時記得要設定為

DEBUG=False

設定靜態檔案資料夾很簡單,

將底下三個設定加到settings.py中即可


# Static files (CSS, JavaScript, Images)# https://docs.djangoproject.com/en/1.11/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'common_static')
STATICFILES_DIRS = [
    'web_pay_v2/static',]

 

 

這三者有何不同呢?

STATIC_URL = ‘/static/’

設定對應到靜態檔案資料夾的網址,

Pycharm預設已經帶入此設定,

template引用時候帶入

{% load static %}

 

 

STATIC_ROOT

在指令行打上

python manage.py collectstatic

會將專案中的static檔案複製一份集中到此資料夾,

在apache或者nginx部屬專案時候使用

STATICFILES_DIRS

手動方式指定靜態檔案存放的資料夾,

要使用static檔案的時候,

系統會來找尋在此列表中的資料夾

如果要讓Django自動尋找各個app中的static資料夾,

在settings.py中必須有底下元件,

Pycharm預設並無此設定需要手動加入

STATICFILES_FINDERS = (
    "django.contrib.staticfiles.finders.FileSystemFinder",    "django.contrib.staticfiles.finders.AppDirectoriesFinder")

特別應該注意的是,

當 settings.py 中 DEBUG = False

Django 預設是不處理 static 檔案的,

也就是說未經過特殊設定, STATICFILES_DIRS 設定是不運行的 ( django.contrib.staticfiles 不運行),

建議處理方式:

設定正確的 STATIC_ROOT ,

部署時記得使用 collectstatic 指令,

透過設定 apache 方式,

將 STATIC_ROOT 納入 apache 的管理



================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

發佈留言