← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 47: Використання Jinja2 для шаблонізації

Технологія: Python

Номер лабораторної: 47 · Рівень: middle

Тема: Генерація коду з шаблонів

Повний опис / сценарій лабораторної:

Meta: навчитися генерувати конфіги та інші файли на основі шаблонів і змінних.



Krok 1. Встановити jinja2 у віртуальне середовище.

Komandi: cd ~/python_lab1; source .venv/bin/activate; pip install Jinja2



Krok 2. Створити каталог templates і файл nginx47.conf.j2.

Poyasnennya: зроби шаблон конфігу nginx з параметрами host і upstream.



Krok 3. Створити файл src/app/jinja47.py який завантажує шаблон і підставляє значення.



Krok 4. Згенерувати кінцевий конфіг і зберегти його у файл build47 nginx.conf.



Krok 5. Додати кілька різних наборів параметрів і згенерувати конфіги для різних середовищ.



Krok 6. Перевірити що зміни у шаблоні автоматично відображаються у всіх згенерованих файлах.



Krok 7. Занотувати як уникнути хардкодування адрес і портів у коді завдяки шаблонізації.



Krok 8. Продумати схему версіонування шаблонів для різних проєктів.



Krok 9. Додати простий тест який перевіряє що згенерований файл містить очікувані рядки.



Krok 10. Mini zvit.

Zavdannya: опиши приклади файлів у твоїй інфраструктурі які можна генерувати через Jinja2.