Запрос GET не сохраняется при запросе переменной сеанса в представлении - Django - PullRequest
0 голосов
/ 02 марта 2019

Когда я перехожу к своему первому виду, запрос GET сохраняется как переменная сеанса.

def index(request):

if request.method == 'GET':
    symbol = request.GET.get('symbol', 'none')
    request.session['symbol'] = symbol

return render(request, 'backtests/yieldcurve.html', {'symbol' : symbol})

Затем, когда я перехожу на другую страницу через боковую панель, запрос GET по-прежнему отображается.

def yieldcurve(request):

    symbol = request.session.get('symbol', 'none')

    return render(request, 'backtests/yieldcurve.html', {'symbol' : symbol})

Тем не менее, когда я возвращаюсь к индексу с боковой панели, запрос GET не сохраняется.Есть ли способ сделать это?Спасибо!

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Я понял это ...

def index(request):

    if 'symbol' in request.GET:
        symbol = request.GET.get('symbol','Invalid Symbol')
        request.session['symbol'] = symbol
    else:
        symbol = request.session['symbol']
0 голосов
/ 02 марта 2019

Потому что всякий раз, когда вы идете к индексу с GET, вы всегда перезаписываете то, что сохранено в сеансе.Если в запросе GET ничего нет, вы перезаписываете значение сеанса с помощью none.

. Перед установкой его, вероятно, следует проверить, что символ находится в request.GET, а не в request.session.

...