У меня есть функция, которая читает из файла и возвращает словарь d {1: 'a', 2: 'b', 3: 'c'}.
Я хочу отправить эту функциюв шаблон и иметь возможность вызывать эту функцию в моем шаблоне jinja.
Когда я вызываю эту функцию в своем шаблоне Jinja, я хочу иметь возможность использовать возвращенные значения словаря в шаблоне.Я планирую использовать AJAX для постоянного вызова этой функции в шаблоне, чтобы при изменении данных в файле, например, 1: «a» на 1: «f», непрерывные вызовы функций в шаблоне обновляли словарь, которыйиспользуется в шаблоне.
Функция, которая извлекает данные из файла, называется getdata (), которая возвращает словарь данных.
Я знаю, что вы можете использовать .context_processor, чтобы сделатьфункция глобальная и использовать возвращаемое значение в шаблоне.
@app.context_processor
def utility_processor():
def format_price(amount, currency=u'$'):
return u'{1}{0:.2f}'.format(amount, currency)
return dict(format_price=format_price)
, а затем вы можете вызвать его в своем шаблоне следующим образом.
{{ format_price(0.33) }}
, который выдает $ 0,33
Можно ли достичь чего-то вроде отправки функции в шаблон и возможности вызова обработчика контекста для доступа к определенному значению в возвращенном словаре в шаблоне?Примерно так:
@app.route('/')
def index():
return render_template('index.html')
@app.context_processor
def context_processor():
return dict(datadict=getdata())
Получите доступ к первому ключу в словаре следующим образом.
{{ datadict.1 }}
, который выведет «a».
Возможно ли что-то подобное