Простой шаблон HTML в Python
Я хотел бы заполнить HTML-шаблон данными из Python. Хотя я не знаю HTML, мой коллега подготовил HTML-шаблон, тогда как я предоставляю данные. Однако он мало знает о Python.
Не могли бы вы предложить очень базовую структуру шаблонов, которая прекрасно справляется с этим разделением HTML и Python (т.е. не имеет особого синтаксиса в HTML и не так много HTML для меня, чтобы знать в коде данных Python)? В идеале HTML-шаблон должен быть очень близок к чистому HTML.
У меня также будут таблицы как данные, так что было бы неплохо, если бы мне не пришлось составлять HTML-код таблицы, но вместо этого он мог бы сделать это с некоторой минимальной логикой разметки.
В идеале система должна работать, даже если мой коллега применит более продвинутые концепции, такие как CSS.
Я нашел обширный список , но очень сложно судить, какая система ближе всего к моим требованиям, так как я не знаю технического языка.
EDIT: точка в том, что мы новичок в этом, и нам нужно только базовое решение:) - но в идеале для меня нет HTML и не намного больше обычного HTML для него.
Ответы
Ответ 1
Ну django имеет очень хороший мощный механизм шаблонов, эта цель отделяет HTML от логики python (но для этого вам потребуется использовать django в целом, так что это может быть перебор, если вы просто хотите шаблонов).
Если ваши шаблоны очень легкие (без циклов), вы можете использовать встроенную функцию python string.format (я использовал ее в побочном проекте, который сгенерированные файлы конфигурации в некоторый код Fortran, и это было не так уж плохо).
Другой выбор может быть jinja2, который действительно близок к шаблонам django, но автономный и более мощный.
Ответ 2
Могу ли я также взглянуть на web2py? На самом базовом уровне вы можете просто собрать своего коллегита html файла, а затем, когда вам нужны данные, замените его на {{= var}}, var может быть восстановлен контроллером web2py, который написан в функции python. Из функции вы можете собрать свои данные и вернуть html-представление с помощью "return dict (var = var)".
Если ваш вид выглядит так:
<html>
<head>
<title>some title</title>
</head>
<body>
<h1>{{=message}}</h1>
</body>
</html>
Контроллер может выглядеть так:
def index():
message = "Hello World"
return dict(message=message)
Вы также можете использовать django, как упомянули другие, но проверьте ссылку для документации web2py