Рубрики
Без рубрики

Шаблон Jinja2: веб -шаблоны для Python

Из всех шаблонов в мире Python Jinja, безусловно, один из них. Tagged с WebDev, Code, Python, новичками.

Первоначально опубликовано в блоге «Кодирующая утка»: www.ccstechme.com/coding-duck-blog

Так что я не так давно разговаривал с моим другом/коллегой о проекте, над которым он работал. Он проводит операцию с двумя людьми, которая в основном занимается цифровыми медиа и маркетингом. Иногда он построит веб -сайт для кого -то, чтобы согласиться с цифровым присутствием, которое он надеется создать для них. Он не делает никаких предложений о своих навыках веб -развития. «Я захожу в Themeforest, загружаю тему и изменяю цвета, картинки и текст». Я действительно восхищаюсь такой честностью. У него есть маркетинговый и бизнес-опыт, и он знает, что большинство людей предпочли бы иметь дело с небольшим количеством поставщиков и подрядчиков при запуске бизнеса, поэтому он предлагает WordPress Re-Skinning, чтобы сделать себя универсальным магазином. Я обычно слышу от него, когда его клиенты немного повзрослели и ищут что -то более гибкое и динамичное, чем он может предоставить. Хотя я понимаю, что настоящий мастер PHP может заставить WordPress делать абсолютно нелепые вещи, PHP просто никогда не понравился мне, поэтому я буду строить с помощью колбы, когда его спросят.

Однажды он спросил меня, как веб -разработчики создали веб -сайты вручную с колбой, джанго, углованием, реагированием, узлом и т. Д. «На самом деле это не так отличается от WordPress, – ответил я, – мы просто говорим коду, где поставить вещи и как заставить их выглядеть, а не интерфейс перетаскивания».

При этом он начал смеяться и качать головой. Его реакция основана в основном на том, что он знает обо мне. Я – типичный тип жокей -инженера/инженер/инженер/код. Аспект кодирования для меня – единственная причина, по которой я это делаю; Потому что я люблю решать головоломку. Конечно, мне нужно оплатить счета и, хотя я технически Беги свой собственный бизнес, я далеко от бизнесмена. Для меня это машины. Я люблю разговаривать с ними и послушать, как они говорят. Я столкнулся со многими машинами, которые довольно «нахальные», как я к ним ссылаюсь, и с ним трудно работать. Это дает им личность в моих глазах; Результат годов пренебрежения или плохих конфигураций для них, очень похожие на негативные переживания прошлой жизни: они формируются им, формируются им …

Он, с другой стороны, пытается ладить и положить еду на стол, плюс как можно больше. Поэтому через мгновение он отвечает: «Конечно, для таких людей, как ты. Но даже когда мне нужно что-то Google на WordPress и вставить код, я знаю, что верхняя часть страницы входит в wp header.php, внизу переходит в wp-foter.php и так далее. То, что вы делаете, не так просто ».

О, нет????

Многие люди боятся программирования языков и попадают в абсолютный режим паники в тот момент, когда они должны прочитать один. Это может быть похоже на кого -то, кто видит название книги на полке, но на другом языке. Они сразу же движутся дальше, потому что чтение языка, которого вы не понимаете, пугает. Это приводит к неправильным представлениям. В заблуждениях, возможно, у некоторых из вас было то, как определенные фронтальные значения сочетаются вместе. Возможно, вы думаете, что JS лучше всего подходит для JS, а веб -приложения действительно должны использовать только узел, или React, или компилятор Angular TypeScript. Но поверить в то, что это будет видеть, что Лес несчастен на книжной полке и предположить, что вы не можете прочитать, потому что вы говорите по -английски. Тем не менее, если бы вы подняли его и открыли, вы увидите, что название французское, потому что автор французский, а история была изначально написана на французском языке, и это происходит во Франции. Но сама книга переводится на английский. Теперь, является ли Виктор Хьюго понятен, даже если его проза находится на вашем языке, является еще одним постом. Но дело в том, что изложить приложение Jinja2 не так и отличается от укладки нашего приложения WordPress. Хитрость: шаблоны. Теперь я не имею в виду шаблон, который вы загружаете с themeforest.net, за который вы должны сначала заплатить, но иметь небольшой гранулированный контроль. Я говорю о теме вашего веб -приложения, которую вы сами создаете. В конце концов, лучший вид веб -шаблона – это бесплатный веб -шаблон, верно? Для этого мы не будем использовать репозиторий готовых шаблонов, мы будем использовать сборку с двигателем. Рассматриваемый шаблонный двигатель: Jinja2. Давайте развеем некоторые мифы:

Типичный базовый шаблон выглядит так:


  
    {% if user %}
    Hey there {{ user }}
    {% else %}
    I don't know you!
    {% endif %}
  
  
    
{% include "header.html" %}
{% include "content.html" %}
{% include "footer.html" %}

Таким образом, этот шаблон излагает модульный HTML -документ, который импортирует и использует другие документы HTML для заполнения пространств содержимого. Каждый из трех документов HTML в настоящее время содержит тег «H1», который определяет, в какой части документа он находится. В своем нынешнем состоянии он появляется следующим образом:

Теперь, когда у нас есть этот базовый шаблон, давайте изменим импортированные файлы. Header.html теперь выглядит так:

Файл содержимого:

100 x 150 box

50 x 200 box

300 x 275 box

Ааааааа и нижний колонтитул:

После того, как шаблон джинджи отображается через колбу, выглядит так:

Так почему мы должны заботиться об этом? Мы можем поместить все это на одну страницу и не беспокоиться об импорте и дерьме. Ну, мы заботимся о модульности. Использование этого вида шаблонного двигателя позволяет нам собирать наше веб -приложение в частях, которые не зависят друг от друга. Допустим, что на вашем веб -сервере происходит что -то забавное, и файл “header.html” не будет отображаться. Это было бы действительно раздражает. Но веб -страница все равно будет отображаться, просто минус заголовок. Это раздражало бы ваших пользователей, но они не получит 404, которые потенциально могут удержать их от возвращения в следующий раз.

Итак, как мы помним синтаксис джинджи?

Самый простой способ заключается в следующем: каждая специфическая джинджа требует двух символов, охватывающих либо условные (если, для, во время) или переменных. Символ открытия и закрытия всегда кронштейн “{” или “}”. Если вы спрашиваете Джинджу сделать Что -то (например, условное, цикл, включает в себя или блокировку), утверждение обрамлена процентами/модульными знаками, а также «%». Если вы спрашиваете Джинджу Скажи Что -то (отображать переменную или итератор в цикле), элемент обернут в другой набор кронштейнов “{“, “}”. Это общее правление применяется к подавляющему большинству сантехники колбы. Если вы хотите узнать больше подробностей, ознакомьтесь с документацией, которую можно найти Здесь Анкет

Оставьте комментарий ниже, если у вас есть какие -либо вопросы или запросы на будущие статьи, и я надеюсь, что это прояснило для вас немного шаблонов Jinja и Python!

Оригинал: “https://dev.to/kaelscion/the-jinja-template-because-im-a-python-developer-3mll”