загрузка содержимого страницы из файла .txt прерывает систему шаблонов Django - PullRequest
2 голосов
/ 02 марта 2012

В моем приложении Python для Google App Engine дизайн для большинства моих страниц идентичен, поэтому я создал page.html в качестве базового шаблона.Содержание каждой отдельной страницы находится в текстовом файле.В моем скрипте .py я делаю это:

pageFile = open("content.txt", "r")
pageText = pageFile.read();
pageFile.close()

И затем это

template_values = {
   'full_name': full_name,
   'notification': notification,
   'pageText': pageText
   }

   path = os.path.join(os.path.dirname(__file__), 'page.html')

Когда страница визуализируется, содержимое pageText вставляется, но разметка шаблона Django (как {{full_name}}) не анализируется.Что является моей проблемойЯ подозреваю, что решение этой проблемы состоит в том, чтобы дважды визуализировать html-файл, один раз для загрузки содержимого и один раз для анализа содержимого шаблона Django, но я не могу найти никаких ресурсов о том, как это сделать.Любая помощь приветствуется.

РЕДАКТИРОВАТЬ: специальный код представления

Страница инструкции

Инструкция класса (webapp.RequestHandler): def get (self):

    checkUser(self)
    checkProfile(self)
    flowControl(self, 0)

    prepareHeader(self)

    global notification

    try:
        notification
    except NameError:
        notification = ""

    pageFile = open("instruction.txt", "r")
    pageText = pageFile.read();
    pageFile.close()

    template_values = {
        'url': url,
        'url_linktext': url_linktext,
        'user': user,
        'pageText': pageText,
        'footerText': footerText,
        'notification': notification
    }

    global instruction, refresh
    instruction = True
    refresh = True

    path = os.path.join(os.path.dirname(__file__), 'instruction.html')
    self.response.out.write(template.render(path, template_values))

1 Ответ

2 голосов
/ 02 марта 2012

Вы можете использовать тег Django include template .Или наследование шаблона .

Этот пример включает содержимое шаблона "foo / bar.html":

{% include "foo/bar.html" %}

Этот пример включает содержимое шаблонаимя содержится в переменной template_name:

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