Я следую части 3 учебника по приложениям для опросов и не могу найти шаблоны

Это точная ошибка

polls/index.html
Request Method: GET
Request URL:    http://localhost:8000/polls/
Django Version: 1.4.3
Exception Type: TemplateDoesNotExist
Exception Value:    
polls/index.html
Exception Location: c:\Python27\lib\site-packages\django\template\loader.py in find_template, line 138
Python Executable:  c:\Python27\python.exe
Python Version: 2.7.2

Так что в моем settings.py я поместил каталог там. "C: / Scripts / mysite / template" и создал /polls/index.html

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    "C:/Scripts/template"
    "C:/Scripts/mysite/template"
)

Это по какой-то причине не может найти это все же. Любые идеи? Это точная инструкция из учебника.

создайте каталог где-нибудь в вашей файловой системе, к содержимому которого Django может получить доступ. (Django работает от имени любого пользователя, работающего на вашем сервере.)

0
sayth 2 Фев 2013 в 04:05

2 ответа

Лучший ответ

Вы пропускаете запятую в конце первой строки:

"C:/Scripts/template",   # <--- HERE
"C:/Scripts/mysite/template"

Без этого Python автоматически объединяет две строки (потому что они внутри паренов), так что он просто становится "C:/Scripts/templateC:/Scripts/mysite/template".

2
Daniel Roseman 2 Фев 2013 в 09:15

Отлаживать

  1. Из основной папки вашего приложения выполните следующую команду: python manage.py shell это загрузит ваше приложение с файлом настроек.
  2. введите from django.conf import settings и нажмите ввод
  3. введите settings.TEMPLATE_DIRS и проверьте вывод. Вы видите каталоги шаблонов, которые вы указали?

Абсолютные пути относительно файла settings.py

Я обычно использую абсолютные пути относительно файла settings.py. Таким образом, соавторы могут совместно использовать файл основных настроек, и независимо от того, какую систему / среду вы развертываете в свои пути, все будет правильно.

Сделать это:

# settings.py
import os

# ... other settings

TEMPLATE_DIRS = (
    os.path.join(os.path.normpath(os.path.dirname(__file__)), 'templates'),
)

Дайте мне знать, если шаг отладки не помог, и я постараюсь предоставить дополнительную помощь.

1
Community 20 Июн 2020 в 09:12