2016-07-23 174 views
0

我一直在閱讀有關django書籍中的模板,作者建議在setting.py變量TEMPLATE_DIRS中添加模板路徑,但我的setting.py沒有`TEMPLATE_DIRS'(我明白爲什麼會這樣),我能找到的下方添加模板路徑Django

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(os.path.dirname(__file__), ’templates’).replace(’\\’,’/] #1 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
] 

1)是否上述變化我已經沒頂了settings.py導致我在正確的方向或者是有沒有更好的辦法做到這一點?在我把自己融入別人之前,我想讓自己確信,最終陷入混亂。

回答

3

TEMPLATE_DIRS變量自Django 1.8(https://docs.djangoproject.com/en/1.9/ref/settings/#template-dirs)以來已棄用。

你的設置是好的,但你可以清理一下,例如:

# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [ 
      os.path.join(BASE_DIR, 'templates'), 
      os.path.join(BASE_DIR, 'templates', 'some_other_dir'), 
      # other paths 
     ], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.template.context_processors.media', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
]