之前提到過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")