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

Я пытаюсь присвоить значение запроса GET для symbol, если пользователь только что заполнил форму на предыдущей странице.Я могу перейти на другие страницы и запросить переменную сеанса, но когда я возвращаюсь к индексу, его там больше нет.

def index(request):


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

    elif not request.session.get('symbol', 'none'):

        symbol = request.session['symbol']


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

Я знаю, что в этом коде есть несколько ошибок, но я действительно не знаю, где это взять.На данный момент я получаю сообщение об ошибке

локальная переменная 'symbol', указанная перед присваиванием

Ответы [ 2 ]

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

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

def index(request):

    if 'symbol' in request.GET:
        symbol = request.GET.get('symbol',' None')
        request.session['symbol'] = symbol

    else:
        symbol = request.session['symbol']
0 голосов
/ 02 марта 2019

Попробуйте это

def index(request):
if request.method == "GET":
    symbol = request.GET.get('symbol', None)

    if symbol is not None or symbol != "":
        request.session['symbol'] = symbol
    else:
        symbol = request.session['symbol']
    return render(request, 'backtests/earnings.html', {'symbol': symbol})
else:
    redirect to path
...