У меня есть веб-приложение, состоящее из нескольких HTML-форм для поддержки некоторых таблиц (SQlite, с CherryPy для веб-сервера). Сначала я сделал это полностью «по пути Python» и сгенерировал строки html. код с общими заголовками, нижними колонтитулами и т. д., определенными как функции в отдельном модуле.
Мне также нравится идея шаблонов, поэтому я попробовал Jinja2, что, на мой взгляд, весьма удобно для разработчиков. Сначала я думал, что шаблоны - это путь, но тогда страницы были простыми. После того, как были представлены файлы .css и .js (необязательно в той же папке, что и файлы .html), и появилось постоянно растущее число переменных {{...}} и команд {% ...%}, во время разработки все стало беспорядочно, хотя во время выполнения они выглядели великолепно. Все стало еще сложнее, когда мне понадобился дополнительный javascript в разделах or.
Насколько я вижу, основными преимуществами использования шаблонов являются:
Не динамические элементы страницы могут быть легко просмотрены в браузере во время дизайна.
За исключением {} заполнителей, HTML хранится отдельно от кода Python.
Если в вашей компании есть дизайнер веб-страниц, они все равно могут создавать, не зная Python.
в то время как некоторые недостатки:
{{}} разделители видны при просмотре во время разработки в браузере
Связанные файлы .css и .js должны находиться в одной папке, чтобы видеть эффекты в браузере во время разработки.
Данные, переменные, списки и т. Д. Должны быть подготовлены заранее и либо объявлены глобально, либо переданы в качестве параметров функции render ().
Итак, когда использовать «жестко закодированный» HTML, а когда использовать шаблоны? Я не уверен в том, какой путь лучше, поэтому мне было бы интересно услышать мнение других разработчиков.
TIA, Алан