Найти - Пользователи
Полная версия: Формулы в темплейтах
Начало » Django » Формулы в темплейтах
1 2
oleg.p
Товарищи, подскажите, поддерживает ли шаблонизатор Django формулы в темплейтах?

К примеру, у меня есть подстановка {{var}}, а нужно что-то типа {{var - 10}} Есть ли возможность подобное сделать?
FishHook


Ты не хочешь использовать шаблоны Django




Ты хочешь использовать шаблоны jinja2





scidam
oleg.p
Товарищи, подскажите, поддерживает ли шаблонизатор Django формулы в темплейтах?
По сути: Если очень простые формулы, то желаемого можно добиться посредством встроенного фильтра add:
{{var|add:“4”}}, т.е. если var было 3, то результат будет 7. Но, если что-то более сложное, ответ в посте FishHook.
oleg.p
scidam, спасибо, это как раз то, что нужно.

FishHook, спасибо, принял к сведению. Если в будущем будет не хватать, изучу предложенную тему.
oleg.p
Поковырявшись несколько часов с переменными в шаблонах django, все же пришел к выводу, что функционала катастрофически не хватает.
Поэтому, после прочтения небольшой доки по возможностям jinja2, решил использовать это решение в качестве шаблонизатора.

Установил и настроил все, как описано здесь http://niwinz.github.io/django-jinja/latest/ в разделе Quick Start (за исключением лишь того, что поставил jinja2 через apt, а не через pip), то есть:

1. sudo apt install python3-jinja2
2. в settings.py добавил:
- в раздел INSTALLED_APPS:
'django_jinja“',
- в раздел TEMPLATES:
{
”BACKEND“: ”django_jinja.backend.Jinja2“,
”APP_DIRS“: True,
”OPTIONS“: {
”match_extension“: ”.jinja",
}
},
(при этом настройки, относящиеся к бакэнду django из TEMPLATES не удалял )

И… ничего не работает… точнее работает, но инструкции для jinja2 в шаблоне не распознаются.

Подскажите, что сделал не так? Или посоветуйте хороший мануал, где внятно написано, как привязать jinja к django.
FishHook
oleg.p
Установил и настроил все, как описано здесь http://niwinz.github.io/django-jinja/latest/
Джанго давно уже поддерживает jinja самостоятельно, без опорок и костылей.
Внимательно прочитать
FishHook
Вот заготовка с работающей jinja, настроить только БД.

oleg.p
FishHook
Вот заготовка с работающей jinja, настроить только БД.

Спасибо за пример. Но попробовал сделать как там и… не заработало.
Настройки в settings.py в принципе понятны, однако конструкция в views.py меня ввела в недоумение, на данном жизненном этапе она явно выше моего понимания.

Сейчас использую популярную схему вывода в шаблон через render_to_string:

 from django.shortcuts import render
from django.http import HttpResponse
from django.template.loader import render_to_string
def index(request):            
    context = {
        'text': "Hello World!",
    }
    return HttpResponse(render_to_string('index.html', context))

Может подскажите, что здесь надо поменять, чтоб наконец-то заработал jinja2 ?
FishHook
oleg.p
и… не заработало
Показывайте ошибку, а я же не для вас персонально запилил заготовку, наверняка кому-то еще пригодится.

oleg.p
Сейчас использую популярную схему
Ну, что я вам скажу. Используйте и дальше. Видимо вам еще многому нужно учиться и отходить от мануала сейчас вам не нужно. Так что забудьте пока про jinja, вместо этого пилите кастомные фильтры и теги, как того требует фреймворк.
oleg.p
FishHook
Видимо вам еще многому нужно учиться и отходить от мануала сейчас вам не нужно. Так что забудьте пока про jinja, вместо этого пилите кастомные фильтры и теги, как того требует фреймворк.

Я разве отрицаю? Конечно же многому надо учиться, ведь джангой всего 2 недели занимаюсь, и пока много чего не понятно. Ну и как следствие, хотелось бы иметь какие-то простые примеры, в которые можно было бы сходу вьехать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB