VueJS конфликтует с Jinja2 и Django template

vuejs logo jinja2 logo django logo

В приложениях VueJS используется {{ varname }} для обработки шаблонов. В Jinja2 и Django шаблонах при рендеринге шаблона также используются фигурные скобки. Из-за этого возникает конфликт. Есть 3 способа решения проблемы.

VueJS — заменить фигурные скобки на что то другое

<!-- js файл -->
new Vue({
  delimiters: ['{*', '*}'],
  data: {
    VueVAR: 'test'
  }
})
<!-- html файл -->
<div id="app">
  {* VueVAR *} <!-- vuejs -->
  {{ name }}  <!-- переменная в Jinja2 или Django шаблоне переданная из views.py -->
</dev>

Использовать RAW в html для Jinja2

<!-- js файл -->
new Vue({
  data: {
    VueVAR: 'test'
  }
})
<!-- html файл -->
<div id="app">
  {{ VueVAR }}  <!-- vuejs -->
  {% raw %}
     {{ name }}  <!-- переменная в Jinja2 из views.py -->
  {% raw %}
</dev>

Для Django templates поменять фигурные скобки

# в файле setting.py
VARIABLE_TAG_START = '{*'
VARIABLE_TAG_END = '*}'
<!-- js файл -->
new Vue({
  data: {
    VueVAR: 'test'
  }
})
<!-- html файл -->
<div id="app">
{{ VueVAR }} <!-- vuejs -->
{* name *} <!-- переменная в Django template из views.py -->
</dev>

Ещё для Django использовать тег {% verbatim %}

<!-- html файл -->
<div id="app">
{% verbatim %}
{{ VueVAR }} <!-- vuejs -->
{% endverbatim %}
{{ name }} <!-- переменная в Django template из views.py -->
</dev>

Для Django последний способ рекомендуют использовать в большинстве случаев.

Посредник — посредственный

Это пост не про программирования. А про посредственных посредников.

Переезд №1

Ситуация дума всем очевидно, куда не обратись, везде агрегаторы и посредники.

Мне нужно было организовать переезд около 6 лет назад из одной квартиры в другую. Позвонил агрегатору в нашем городе, зная что это агрегатор думал всё будет примерно как в такси.

Приехал водитель на 10 минут раньше времени, а грузчиков нет. Я спрашиваю где они? Водитель пояснил, что грузчики это отдельная организация, и они добираются своим ходом сами.

Грузчик приехал один вовремя, вполне адекватный человек, мужчина лет 40-45, одет по форме, комбинезон, удобная обувь, второй опоздал, мужчина лет 50 в резиновых сапогах, видно, что всю жизнь пьёт.

Еле-ели, они загрузили, ели-ели они выгрузили, несколько раз, чуть не повредили вещи, какие то вещи всё же повредили, мне пришлось помогать самому, таскать то что мне особенно ценно. Это было кажется на неделе, пробки в городе собрали все.

Долго, дорого и не качественно.

Переезд №2

Второй раз я переезжал уже зная, что кому попало звонить не нужно. И что оказалось? Везде операторы, или агрегаторы, нормальной организации так просто не найти, собственно как и раньше.

Позвонил оператору одной из фирм, сразу сказал, что если грузчики будут «алкоголиками», отменю заказ, мне нужны настоящая команда!

Уточнил у оператора насчёт машины, и заказал на 100 рублей дороже в час, за то большего объёма. (Легче и быстрей загружать).

Машина приехала на 20 минут

Грузчики пришли на 10 минут раньше, спросили меня где можно переодеться, одели спец одежду, удобную обувь, 2 молодых человека лет 25-30, спортивного телосложения.

И тут началось, быстро чётко, всё они сделали правильно, загрузили, выгрузили, подняли на этаж, переоделись и ушли.

Переезд планировал заранее, выбрал выходной день, что бы не стоять в пробках.

Зная, что машина и грузчики оплачиваются отдельная, машину удалось отпустить раньше (с начало выгрузили всё на улицу, потом заносили домой). 

Выводы

Тогда я не понял, в чём дело. Сильно мой разум был затуманен, теперь мне очевидно, есть 2 правила которые сэкономят силы, нервы, время и деньги:

  1. Свои действия — планируй и действую от плана.
  2. Уточняй все важные детали, и договаривайся сразу о увольнении при несоблюдение договорённостей.