Załóżmy, że przekazuję słownik do mojego szablonu jinja2.
W widoku mam coś podobnegoModyfikowanie atrybutów słownika w jinja2
d = {}
#set other template stuff into d
get_params['cri'] = 'time'
get_params['order'] = 'asc'
d['get_params'] = get_params
return d
w szablonie muszę zmienić wartości kluczy get_params. Logiczną rzeczą
{% set get_params.cri='src' %}
nie powiedzie się z powodu błędu
TemplateSyntaxError: expected token '=', got '.'
Moje pytanie brzmi jak mogę zmodyfikować wartości przekazywane do słownika w jinja2
(To pytanie zostało zadane here, ale odpowiedź jest myląca i odpowiada tylko na łączącą się część)
Odpowiedź EDYCJA:
Jinja2 udostępnia rozszerzenie "do". Dodać, że rozszerzenie do piramidy, wykonaj następujące czynności w pliku
#This line is alreadythere
config.include('pyramid_jinja2')
#Add this line
config.add_jinja2_extension('jinja2.ext.do')
__init__.py
W szablonie
{% do get_params.update({'cri':'src'}) %}
Mam część aktualizacji (aktualnie robię to teraz w tagach {{}}, ale to drukuje Brak). Jak korzystać z bloku {% do%}. Kod będzie bardzo doceniany. Espicial jak włączyć rozszerzenia jinja2 z piramidy – RedBaron
Scratch that ... udało się to zrobić – RedBaron