Посты с тэгом jinja2


Как Python и Jinja могут облегчить жизнь FPGA разработчику


Всем привет!

Так бывает, что используемые языки программирования накладывают ограничение на то, что мы хотим сделать, доставляя неудобство при разработке. Что с этим делают разработчики? Либо смиряются, либо как-то пытаются выйти из положения.

Один из вариантов — использование автогенерации кода.

В этой статье я расскажу:
  • как можно обойти одно из ограничений языка Verilog, применяемого при разработке ASIC/FPGA, используя автогенерацию кода с помощью Python и библиотеки Jinja.
  • как можно ускорить разработку IP-ядер, сгенерировав модуль контрольно-статусных регистров из их описания.


Если интересно, добро пожаловать под кат!
Читать дальше →


Backslant – шаблонизатор в стиле slim


Захотелось мне сделать шаблонизатор, чтобы как slim, теги чтобы автоматом закрывались и прочее. Красиво же так:
html
  head
    title
        - yield "Плюшка!" + " Чашка чаю!"


Но и этого мне мало, хочу чтобы не было своего недоязыка, хочу чтобы просто питоновские конструкции. А кто захочет себе в ногу стрельнуть и бизнес логики в шаблоны навалить, то это проблема начинашек, мне зачем мучаться размазывая код вьюх в папки типа utils, template_tags и прочее?

А и еще можно кстати угореть так уж угореть — а пусть шаблоны через новый механизм импорта в python 3 тянутся. И если надо что-то от другого шаблона себе вставить, то тоже пусть также работает.

А еще, еще пусть каждый шаблон это генератор!

Читать дальше →


[Перевод] Мега-Учебник Flask, Часть 2: Шаблоны

Это вторая статья в серии, где я описываю свой опыт написания веб-приложения на Python с использованием микрофреймворка Flask.

Цель данного руководства — разработать довольно функциональное приложение-микроблог, которое я за полным отсутствием оригинальности решил назвать microblog.

Оглавление
Часть 1: Привет, Мир!
Часть 2: Шаблоны (эта статья)
Часть 3: Формы
Часть 4: База данных
Часть 5: Вход пользователей
Часть 6: Страница профиля и аватары
Часть 7: Unit-тестирование
Часть 8: Подписчики, контакты и друзья
Часть 9: Пагинация
Часть 10: Полнотекстовый поиск
Часть 11: Поддержка e-mail
Часть 12: Реконструкция
Часть 13: Дата и время
Часть 14: I18n and L10n
Часть 15: Ajax
Часть 16: Отладка, тестирование и профилирование
Часть 17: Развертывание на Linux (даже на Raspberry Pi!)


[Перевод] Портирование на питон 3. Работа над ошибками

Примечание от переводчика:
Представляю вам, перевод интересной статьи Армина Ронахера, автора веб-фреймворков Flask и Werkzeug, шаблонизатора Jinja2 и вообще известного питониста об актуальных техниках и подводных камнях, применяемых им в его проектах при добавлении поддержки третьего питона. Небольшая заметка по поводу названия данной статьи. Оно является отсылкой к статье Армина 2010 года «Портирование на питон 3. Руководство», в которой он описывал подготовку кода для автоматического портирования через утилиту 2to3. Как показывает практика, сегодня такой подход является скорее антипаттерном, т.к. с одной стороны, качество кода в результате подобных операций заметно ухудшается, а кроме того, такой код заметно труднее поддерживать.


После чрезвычайно болезненного опыта портирования Jinja2 на третий питон, мне пришлось оставить пр


Вакансии: команда Python разработчиков в EVAplacer

Новая международная геоинформационная социальная сеть EVAplacer набирает команду разработчиков.


Ведущий разработчик серверной части на Python

Задачи

  • Разработка серверной части проекта на Python
  • Проектирование архитектуры системы и схемы базы данных
  • Организация взаимодействия серверной части проекта с клиентской
  • Принятие технических решений

Требования

  • Свежий опыт веб-разработки на Python без использования Django
  • Суммарный опыт веб-разработки от 5 лет
  • Самостоятельность и заинтересованность в качестве результата своей работы
  • Умение делегировать часть работы коллегам

Технологии

  • Предстоит работать со следующими технологиями:


Вакансии: команда Python разработчиков в EVAplacer

Новая международная геоинформационная социальная сеть EVAplacer набирает команду разработчиков.


Ведущий разработчик серверной части на Python

Задачи

  • Разработка серверной части проекта на Python
  • Проектирование архитектуры системы и схемы базы данных
  • Организация взаимодействия серверной части проекта с клиентской
  • Принятие технических решений

Требования

  • Свежий опыт веб-разработки на Python без использования Django
  • Суммарный опыт веб-разработки от 5 лет
  • Самостоятельность и заинтересованность в качестве результата своей работы
  • Умение делегировать часть работы коллегам

Технологии

  • Предстоит работать со следующими технологиями:


Вакансии: команда Python разработчиков в EVAplacer

Вакансии более не актуальны

Новая международная геоинформационная социальная сеть EVAplacer набирает команду разработчиков.

Ведущий разработчик серверной части на Python

Задачи

  • Разработка серверной части проекта на Python
  • Проектирование архитектуры системы и схемы базы данных
  • Организация взаимодействия серверной части проекта с клиентской
  • Принятие технических решений

Требования

  • Свежий опыт веб-разработки на Python без использования Django
  • Суммарный опыт веб-разработки от 5 лет
  • Самостоятельность и заинтересованность в качестве результата своей работы
  • Умение делегировать часть работы коллегам

Технологии

  • Предстоит работать со следующими технологиями:


Django своими руками часть 2: Интернационализация

Часть 1.

Введение.


Изначально хотелось написать побольше упомянув в статье роуты и борьбу с ошибками, но тема интернационализации довольно обширна оказалась поэтому было решено посвятить пост исключительно ей. Мы будем пользоваться распространенным инструментом gettext в рамках фреймворка.

Все переводы можно разделить на две части:
a) Те что непосредственно в файлах с расширением .py — с ними все просто.
b) И те что в шаблонах — к ним придется написать небольшой велосипед :).
Ну и далее нужно автоматизировать процесс управления переводами.
Итак добро пожаловать под кат.

Читать дальше →


[Из песочницы] Django своими руками часть 1: Собираем шаблоны для jinja2

Введение


В этом посте хотелось бы описать создание небольшого фреймворка с системой плагинов как django. Только с использованием внешних компонентов. Jinja2 для шаблонов, bottle для получения переменых среды, вместо ORM будет использоваться pymongo, а сессиями будет заниматься beaker.
В первой части хочу рассказать как удобно подсоединить Jinja2 чтоб шаблоны можно было собирать из разных папок (читай плагинов) и кешировать их.
Также в следующей части хотелось бы рассказать как подключить к шаблонам gettext и автоматизировать их перевод.

Читать дальше →


Jinja2


Я уже много раз упоминал в комментариях и других постах, что когда мне приходится программировать, последние пару лет я чаще всего использую Python. При этом так забавно получилось, что в рубрике «Программирование» об этом языке практически ни слова, даже подрубрики не было. Сегодня я попробую потихоньку начать исправлять данную ситуацию, речь пойдет об одном из самых продвинутых шаблонизаторов под Python — Jinja2. Встречаем!

Введение

Я хочу рассказать о то