2012-08-10 13 views
15

Oto błąd mam:Konfigurowanie ustawień django do pracy z 1.4.1. Błąd wczytywania szablonu

ImproperlyConfigured: Error importing template source loader django.template.loaders.filesystem.load_template_source: "'module' object has no attribute 'load_template_source'" 

Oto moja ładowarka kod szablonu:

if DEBUG: 
    TEMPLATE_LOADERS = [ 
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader',  
    ] 
else: 
    TEMPLATE_LOADERS = [ 
     ('django.template.loaders.cached.Loader',(
      'django.template.loaders.filesystem.load_template_source', 
      'django.template.loaders.app_directories.load_template_source', 
      'forum.modules.template_loader.module_templates_loader', 
      'forum.skins.load_template_source', 
      )), 
    ] 

cały ten kod był tam, kiedy pobrać projekt z internetu. Próbuję skonfigurować OSQA przy użyciu these instructions. Mam zainstalowany MS SQL Server i zainstalowałem Python 2.6. Każda pomoc, jak naprawić ten błąd (znaleziono, gdy próbuję uruchomić manage.py uruchomić serwer i hit http link, gdzie moje rzeczy jest setup.uper pojawia się w wierszu polecenia). Jestem nowy w Django i Python, więc nie wiem, jak zdiagnozować, co się dzieje.

+0

Porównaj dwa TEMPLATE_LOADERS w szczegółach. Prawdziwy problem polegał na próbie użycia starego pliku * .filesystem.load_template_source i * .app_directories.load_template_source ... powinien być * .filesystem.Loader. Jakkolwiek wspaniała odpowiedź @girasquid –

Odpowiedz

26

Jeśli spojrzysz na dokumentację na template loader types (przewiń w dół do sekcji modułu ładującego buforowany szablon), wygląda na to, że podczas konfigurowania buforowanego programu ładującego nadal musisz przekazać mu klasy Loader - więc chcesz zmienić konfigurację aby wyglądać następująco:

if DEBUG: 
    TEMPLATE_LOADERS = [ 
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader',  
    ] 
else: 
    TEMPLATE_LOADERS = [ 
     ('django.template.loaders.cached.Loader',(
      'django.template.loaders.filesystem.Loader', 
      'django.template.loaders.app_directories.Loader', 
      'forum.modules.template_loader.module_templates_loader', 
      'forum.skins.load_template_source', 
      )), 
    ] 

nie jestem pewien, co ładowarki są dla aplikacji forum, ale pewnie też chcą Loader zajęcia również tam (musisz zapoznać się z dokumentacją w tej aplikacji, aby dowiedzieć na zewnątrz - nie wszystkie ładowarki szablonów stron trzecich działają z buforowanym programem ładującym).

+0

Myślę, że naprawiłem to, ponieważ teraz dostaję inny błąd :), który jestem całkiem pewny jest inny niż ten ... – dudebroman

+0

świetna odpowiedź - dzięki – nicorellius

+0

Uwaga - ładowacze szablonów oparte na funkcjach były usunięto w Django 1.4: https://docs.djangoproject.com/en/1.10/internals/deprecation/#deprecation-removed-in-1-4. –

4
  1. Otwórz plik "settings.py" w folderze zawierającym wyodrębnioną zawartość projektu Twissandra.
  2. Szukaj 'TEMPLATE_LOADERS = (' a wewnątrz niej, wyszukiwanie 'django.template.loaders.filesystem.load_template_source'. Komentarz ten wiersz i dodać 'django.template.loaders.filesystem.Loader'. Podobnie
  3. terminie 'TEMPLATE_LOADERS = (' wyszukiwania 'django.template.loaders.app_directories.load_template_source' i zastąpienie go 'django.template.loaders.app_directories.Loader'.

PS Rozwiązałem mój problem i dzięki How to fix the Django error displayed when loading Twissandra for the first time?

Powiązane problemy