Простой шаблон HTML в Python
Я хотел бы заполнить HTML-шаблон данными из Python. Хотя я не знаю никакого HTML, мой коллега подготовит шаблон HTML, в то время как я предоставляю данные. Однако он мало что знает о Python.
не могли бы вы предложить очень базовую структуру шаблонов, которая хорошо обрабатывает это разделение HTML и Python (т. е. не так много специального синтаксиса в HTML; и не так много HTML для меня, чтобы знать в коде данных Python)? В идеале шаблон HTML должен быть очень близок к чистому ФОРМАТ HTML.
У меня также будут таблицы в качестве данных, поэтому было бы неплохо, если бы мне не пришлось готовить HTML-код таблицы, но вместо этого он мог бы сделать это с некоторой минимальной логикой разметки. В идеале система должна работать, даже если мой коллега применяет более сложные понятия, такие как CSS.
Я нашел большой список, но очень трудно судить, какая из систем ближе всего к моим требованиям, поскольку я не знаю технический язык.
изменить: мы новички с этим, и нам нужно только базовое решение :) - но в идеале нет HTML для меня и не намного больше обычного HTML для него.
2 ответов
хорошо Джанго имеет очень хороший мощный движок шаблонов, цель которого-отделить HTML от логики python (но для этого вам потребуется использовать django в целом, поэтому это может быть излишним, если вы просто хотите шаблон).
Если ваши шаблоны действительно easy (без циклов) вы можете использовать родной python строку.формат function (я использовал его в боковом проекте, который генерировал файлы конфигурации для некоторого кода Fortran, и это было не так уж плохо).
другой выбор может быть jinja2 это действительно близко к шаблонам django, но автономно и более мощно.
могу ли я предложить также посмотреть на 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