Простой шаблон 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