2016-12-28 3 views
0

Я использую следующую функцию, чтобы выполнить простое представление HTML:Передача переменных в HTML-файл на Python

import cherrypy 
class index(object): 
    @cherrypy.expose 
    def example(self): 
     var = "goodbye" 
     index = open("index.html").read() 
     return index 

Наш файл index.html является:

<body> 
    <h1>Hello, {var}!</h1> 
</body> 

Как я могу передать {var} в представлении моего контроллера?

Я использую микрофрейм CherryPy для запуска HTTP-сервера, и я НЕ использую механизм шаблонов.

ответ

1

изменить HTML-файл и форматировать его.

index.html

<body> 
    <h1>Hello, {first_header:}!</h1> 
    <p>{p2:}, {p1:}!</p> 
</body> 

Код

index = open("index.html").read().format(first_header='goodbye', 
             p1='World', 
             p2='Hello') 

Выход

<body> 
    <h1>Hello, goodbye!</h1> 
    <p>Hello, World!</p> 
</body> 
+0

Это работает как шарм! – Rimo

+1

@Gerr Пожалуйста, отметьте это как правильный ответ – webKnjaZ

0

CherryPy не предоставляет никаких HTML-шаблонов, но его архитектура позволяет легко интегрировать его. Популярные: Mako или Jinja2.

Источник: http://docs.cherrypy.org/en/latest/advanced.html#html-templating-support

+0

Вопрос спрашивает, как поместить переменную в файл, потому что нет рамки шаблона используется –