Синтаксическая ошибка шаблона Django в Google App Engine - PullRequest
1 голос
/ 19 августа 2010

Я попытался запустить приложение Google App Engine на локальном хосте и получил ошибку Django, на которой я застрял.

"TemplateSyntaxError: Шаблон 'base / _base.html' не может быть расширен, поскольку он не существует"

Я помещаю шаблоны в / templates, а затем _base.html & index.html в / templates / base.Спасибо!Эмиль @ roudn00b.com

Ошибка:

Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 511, in __call__
    handler.get(*groups)
  File "/Users/emilepetrone/code/thebuswheel/main.py", line 65, in get
    outstr = template.render(temp, { 'path': path })
….

…..
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django/django/template/loader_tags.py", line 58, in get_parent
    raise TemplateSyntaxError, "Template %r cannot be extended, because it doesn't exist" % parent
TemplateSyntaxError: Template 'base/_base.html' cannot be extended, because it doesn't exist

Ссылается на:

def get (self):

    path = self.request.path

    temp = os.path.join(
        os.path.dirname(__file__),
        'templates' + path)

    if not os.path.isfile(temp):
        temp = os.path.join(
            os.path.dirname(__file__),
            'templates/base/index.html')

    outstr = template.render(temp, { 'path': path })        
    self.response.out.write(outstr)

Ответы [ 3 ]

1 голос
/ 19 августа 2010

Еще одна вещь, которую вы можете проверить дважды, это убедиться, что один из путей в настройке TEMPLATE_DIRS указывает на корневой каталог для ваших шаблонов.

Также убедитесь, что в настройках указан полный абсолютный путь, не относящийся к проекту.

0 голосов
/ 19 августа 2010

Решение от @ jps

переименуйте base / _base.html в base.html, без subdir. Обновите index.html новым путем.

0 голосов
/ 19 августа 2010

Я думаю, вам нужно посмотреть в ваших шаблонах.Важная часть трассировки находится в конце:

Шаблон 'base / _base.html' не может быть расширен, поскольку он не существует

У вас есть шаблон с именем 'base /_base.html?Если нет, найдите другой файл шаблона, который пытается его расширить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...