У меня есть сценарии, один для приложения фляги, а другой для сценария сканера штрих-кода, который отправляет почтовые запросы.
Приложение фляги получает его и декодирует JSON к данным, которые я хочу отобразить в моем html.
Но как мне загрузить их в HTML? Вот журналы, когда приложение колбы получает запрос:
Fissan Foot Powder
80.5
127.0.0.1 - - [19/Apr/2019 14:09:10] "POST / HTTP/1.1" 200 -
127.0.0.1 - - [19/Apr/2019 14:09:19] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [19/Apr/2019 14:09:21] "GET /static/assets/img/favicon.png HTTP/1.1" 200 -
и вот мой код:
@app.route("/", methods=['GET', 'POST'])
def index():
if request.method == 'POST':
try:
r = request.data
data = r.decode('utf-8')
data = json.loads(data)
item = data['item']
price = data['price']
print(item)
print(price)
return render_template('dashboard.html', item=str(item), value=str(price))
except Exception as e:
print(str(e))
item = 'Test'
price = 'Test'
return render_template('dashboard.html', item=str(item), value=str(price))
Что нужно сделать для того, чтобы товар и цена на отображались при отправке запроса POST в приложение фляги? На данный момент в html ничего не отображается.
Что я попробовал после предложения:
# Index route
@app.route("/", methods=['GET', 'POST'])
def index():
if request.method == 'POST':
try:
r = request.data
data = r.decode('utf-8')
return redirect(url_for('item', data=data))
except Exception as e:
print(str(e))
item = 'Test'
price = 'Test'
return render_template('dashboard.html', item=str(item), value=str(price))
# Item route
@app.route("/item/", methods=['GET', 'POST'])
def item():
data = request.args['data']
print(str(data))
data = json.loads(data)
item = data['item']
price = data['price']
print(item)
print(price)
return render_template('dashboard.html', item=item, value=price)
В журнале написано, что запрос выполнен успешно:
127.0.0.1 - - [19/Apr/2019 16:35:08] "POST / HTTP/1.1" 302 -
{"item": "Fissan Foot Powder", "price": "80.5"}
Fissan Foot Powder
80.5
127.0.0.1 - - [19/Apr/2019 16:35:08] "GET /item/?data=%7B%22item%22%3A+%22Fissan+Foot+Powder%22%2C+%22price%22%3A+%2280.5%22%7D HTTP/1.1" 200 -
Однако, когда я смотрю на интерфейс, он остается прежним. Он не перенаправил на URL, куда он должен идти.
также о html, который я уже поместил {{ item }}
и {{ value }}
в те места, где я хочу отсканированный элемент.
Я хотел бы добиться, чтобы при запуске запроса он перешел на маршрут /item/
, где он получает полезную нагрузку, и по запросу GET он должен был визуализировать шаблон вместе с полезными нагрузками item
и * 1029. * как Джинджа на HTML. И должен был показать там. Что я должен сделать, чтобы достичь этого?