Flask - Как автоматически обновить родительский шаблон Jinja без обновления / перезагрузки страницы - PullRequest
0 голосов
/ 30 октября 2019

У меня есть приложение Flask с интерфейсом Bootstrap 4, включающим шаблоны Jinja. Я хотел бы создать поведение типа корзины покупок, чтобы, когда пользователь выбирает товар, он сразу же отражался в корзине. На данный момент корзина находится в родительском шаблоне (mylayout.html), поэтому ее можно просматривать на любом дочернем шаблоне, который имеет строку {% extends "mylayout.html" %}. Я обновляю количество товаров в Flask, используя контекстный процессор

@app.context_processor
def cart_total():
  .
  .
  .
  print('total number of items ',total)
  return dict(total=total)

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

<li><a href="/cart" class="nav-link"><i class="fas fa-shopping-cart"></i> CART {{ total }}</a></li>

Однако количество элементов не обновляется, пока я не обновлю страницу или не выберу новую страницу, т.е. после перезагрузки родительского шаблона. Я перепробовал все решения здесь и также посмотрел здесь , но все еще не получил желаемого поведения. По словам одного пользователя здесь TEMPLATES_AUTO_RELOAD в любом случае не предназначен для этого. Прямо сейчас любые изменения, которые я делаю для родителей или детей, отражаются , за исключением количества элементов. Я не знаю, находится ли решение где-нибудь в jquery, javascript, ajax или что-то еще? Все отзывы, идеи или информация приветствуются.

...