Я знаю, что вы специфически просите рамки, но я подумал, что дам вам знать, что я здесь получу. Я только что прошел преобразование веб-приложения моей компании из собственного внутреннего слоя ORM в sqlAlchemy, так что я далек от эксперта, но мне пришло в голову, что sqlAlchemy имеет типы для всех атрибутов, которые он отображает из базы данных, так почему бы и нет используйте это, чтобы помочь вывести правильный HTML на страницу. Поэтому мы используем sqlAlchemy для внутреннего интерфейса и шаблоны Cheetah для внешнего интерфейса, но все, что между ними, в основном является нашим собственным.
Нам никогда не удавалось найти платформу, которая бы выполняла именно то, что мы хотим, без компромиссов, и мы предпочитаем получить все, что работает для нас, и написать клей для себя.
Шаг 1. Для каждого типа данных sqlAlchemy.types.INTEGER и т. Д. Добавьте дополнительную функцию toHtml (или многие, может быть, toHTMLReadOnly, toHTMLAdminEdit и т. Д.) И просто получите этот шаблон для html, теперь вам даже не нужно не важно, какой тип данных вы выводите на экран, если вы просто хотите выложить всю таблицу, которую вы можете просто сделать (как шаблон гепарда или каков ваш шаблонизатор).
Шаг 2
<table>
<tr>
#for $field in $dbObject.c:
<th>$field.name</th>
#end for
</tr>
<tr>
#for $field in dbObject.c:
<td>$field.type.toHtml($field.name, $field.value)</td>
#end for
</tr>
</table>
Используя этот базовый метод и расширив интроспекцию питонов до его потенциала, во второй половине дня мне удалось создать обновление для чтения и удалить код для всей нашей административной части нашей базы данных, еще не с полировкой django, но более чем достаточно для мои потребности.
Шаг 3 Обнаружил необходимость третьего шага как раз в пятницу, захотел загрузить файлы, для которых, как вы знаете, нужно больше, чем просто текстовое поле по умолчанию для типов данных varchar. Не волнуйтесь, я просто переопределил класс строк в своем определении таблицы с VARCHAR на FilePath (VARCHAR), где единственным отличием было то, что FilePath имел другой метод toHtml. Работал без нареканий.
Все, что сказано, если есть термоусадочная пленка, которая делает именно то, что вы хотите, используйте это.
Отказ от ответственности: этот код был написан из памяти после полуночи и, вероятно, не создаст функционирующую веб-страницу.