2019年4月29日 星期一

以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")





沒有留言: