|
0 / 0 / 0
Регистрация: 21.01.2023
Сообщений: 10
|
|||||||||||
PGHtml | Шаблонизатор с использованием PostgreSQL25.02.2023, 10:49. Показов 1102. Ответов 3
Добрый день, коллеги.
Сделал собой утилиту командной строки, которая создает HTML, JS, JSON и другие типы файлы с использованием данных, получаемых из базы данных PostgreSQL. Файл создается из файла-источника, в котором проводится подстановка(замена) тегов и переменных. Исходный код открыт, выложен на GitHub https://github.com/PGHtml/PGHtml, можно форкать и копировать. Пример замены
Проверка на изменение - если содержимое результирующего файл не изменилось, то файл не перезаписывается и, соответственно, web-сервер не выполняет публикацию (deploy) Импорт - реализована поддержка импорта других файлов (например, фрагмента HTML или данных в формате JSON) Список изменений - возможно сформировать файл-список со списком измененных файлов Обработка ошибок - при возникновении ошибки (например, при выполнении SQL запроса) обработка продолжается, в лог (stderr) выводится расширенная информация и по окончании выполнения утилита возвращает в ОС признак неуспешного выполнения (1). Это позволяет настроить мониторинг обновления данных на сайте Указание обрабатываемых файлов - возможна обработка конкретных файлов, директорий с рекурсией и указанием расширений файлов. При этом определяются встроенные переменные, которые можно использовать при формировании ссылок и в SQL запросах. Рекомендуется указывать корневую директорию сайта Переменные - поддерживаются переменные из командной строки, встроенные (директории, пути до файлов и т.д) и атрибуты тега при импорте файла Неограниченная вложенность - поддерживается включение файлов внутри включаемого файла, многократное переопределение переменных и их использование внутри другой переменной Условия и циклы - программирование внутри файлов не поддерживается, для реализации логики необходимо использовать хранимые процедуры PostgreSQL Более подробно можно ознакомиться и скачать на сайте http://pghtml.org/ru/ Также сделан ролик на youtube https://www.youtube.com/watch?v=DJ9J-YWCmfs Вопросы и конструктивная критика приветствуется, можно здесь или в личку.
0
|
|||||||||||
| 25.02.2023, 10:49 | |
|
Ответы с готовыми решениями:
3
Авторизация в ASP.NET Core с использованием PostgreSQL Написать программу для работы с БД на Python с использованием Postgresql и QTableview Не могу запустить проект (Django+postgreSQL) с использованием Docker на Windows |
|
14315 / 9401 / 1355
Регистрация: 21.01.2016
Сообщений: 35,458
|
|
| 26.02.2023, 11:43 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 21.01.2023
Сообщений: 10
|
|
| 27.02.2023, 20:46 [ТС] | |
|
Инструмент предназначен для отображения на сайтах статической информации из базы данных, которая:
Описание на главной странице сайта https://pghtml.org/ru/#description -- Также смотрел другие шаблонизаторы и решения с возможностью подключения к базе данных: простых и легковесных не обнаружил
0
|
|
|
14315 / 9401 / 1355
Регистрация: 21.01.2016
Сообщений: 35,458
|
||
| 28.02.2023, 02:51 | ||
|
В чём вы для себя видите сложность хранения шаблона вне базы и заполнению его данными из этой базы? Не хотите в базу лишний раз сходить? Ну так кеш вам в руки. А так получается хрупкое решение. Нужно периодически пинать какую-то стороннюю утилиту, которая всё равно будет базу опрашивать и перегенерировать эти шаблоны. Когда её надо пинать? Как-то же надо отслеживать, что данные изменились. Ещё, надо будет синхронизировать обращение к этой утилите, чтобы в несколько потоков она не пнулась, чтобы файлы шаблонов в параллель не переписывались, что к проблемам привести может. Её и пересобирать надо под каждую ОС на которой веб-приложение крутиться будет. В общем, практическая ценность сомнительна. Больше проблем создаёт, нежели решает.
0
|
||
| 28.02.2023, 02:51 | |
|
Помогаю со студенческими работами здесь
4
При попытке подключится к postgresql с использованием zeos не найдены libpq81.dll и libpq.dll
шаблонизатор
Шаблонизатор js Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|