Как создать оповещение на основе последней посещенной страницы? - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь имитировать «приборную панель» https://finance.cs50.net/ (после того, как вы вошли в систему), которая отображает предупреждение «куплено», если вы перенаправлены туда с / buy, но не выдает предупреждение, если выв конечном итоге там иначе.

Я использую Flask, jinja2, python и HTML.Предоставленный адрес ("/"), который отлично работает с return redirect, но не с return render_template.Я попытался передать флаг с return redirect, но моему компьютеру это не понравилось.Вы всегда знаете идентификатор пользователя, но навигация не отслеживается (т. Е. Нет файлов cookie).Простые ответы, которые я могу понять, предпочтительнее, чем умные, которые я не могу.

# from application.py, at the end of the 'buy' function

# flag says local to 'buy' so this does not help me
flag = True
return redirect("/")

## also tried, but computer got angry
return render_template("/")

1 Ответ

2 голосов
/ 06 мая 2019

Я действительно не знаю, как выглядит предупреждение, но, похоже, вы ищете flash. Документация доступна здесь

Также, используя пример, приведенный в документации, обработчик для '/ buy' должен выглядеть так: buy() ниже:

from flask import Flask, flash, redirect, render_template, \
     request, url_for

app = Flask(__name__)
app.secret_key = 'some_secret'

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/buy', methods=['GET', 'POST'])
def buy():
    if False:
        pass
    else:
        flash('You were redirected from /buy')
        return redirect(url_for('index'))

    return render_template('buy.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...