2015-05-15 40 views
8

Bu beni delirtiyor. Tuhaf bir şey yaptım ve TEMPLATE_DIRS girişlerimin göz ardı edildiğini görünüyor. Ben proje dizininde yer alan tek settings.py dosyası var, ve içerdiği:Django 1.8 TEMPLATE_DIRS göz ardı ediliyor

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates'), 
    os.path.join(BASE_DIR, 'web_app/views/'), 
) 

G/şablonları klasöründe proje düzeyi şablonları koyuyorum ve sonra farklı bakış kategorileri için klasörler benim uygulama klasörü (örneğin kimlik doğrulama görünümleri, hesap görünümleri, vb.). Örneğin

, benim ana dizin sayfası görünümü web_app/görünümler// ana views_main.py olduğunu ve bir Appview TemplateView bir uzantısı olduğu

from web_app.views.view_classes import AuthenticatedView, AppView 


class Index(AppView): 
    template_name = "main/templates/index.html" 

benziyor. İşte benim sorun: Ben sayfasını ziyaret etmeye çalıştığınızda, bir TemplateDoesNotExist istisna ve gerçekten beni karıştıran bir parçası olsun Template-Loader Otopsi:

Template-loader postmortem 

Django tried loading these templates, in this order: 
Using loader django.template.loaders.filesystem.Loader: 
Using loader django.template.loaders.app_directories.Loader: 
C:\Python34\lib\site-packages\django\contrib\admin\templates\main\templates\index.html (File does not exist) 
C:\Python34\lib\site-packages\django\contrib\auth\templates\main\templates\index.html (File does not exist) 

Neden dünyada 'şablonlar' ve 'web_app vardır/görünümlerin dizinleri aranmıyor mu? Ayarlar'ı debugger ve views_main.py dosyasındaki bir kesme noktası aracılığıyla kontrol ettim ve oradalarmış gibi görünüyor. herhangibirinin buna benzer sorunu var mı? Teşekkürler.

cevap

24

Hangi sürümü Django kullanıyorsunuz? yerine DjangoTemplates arka uç DIRS seçeneğini ayarlayın: 1,8

1.8 sürümü beri kullanımdan kaldırıldı beri TEMPLATE_DIRS kullanımdan kaldırıldı.

https://docs.djangoproject.com/en/1.8/ref/settings/#template-dirs

Bunun yerine bu deneyin: https://docs.djangoproject.com/en/1.8/ref/templates/upgrading/

+0

Yep:

TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ # insert your TEMPLATE_DIRS here ], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ # Insert your TEMPLATE_CONTEXT_PROCESSORS here or use this # list if you haven't customized them: 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', ], }, }, ] 

İşte bir yükseltme kılavuzuna bir bağlantı. Öyleydi. Peki bu iki saatin sağlam bir kullanımıydı. Teşekkürler! – Gadzooks34

İlgili konular