首页 > 解决方案 > 在视图中请求会话变量时未保存 GET 请求 - Django

问题描述

当我导航到我的第一个视图时,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 请求。有没有办法做到这一点?谢谢!

标签: djangogetdjango-formsdjango-views

解决方案


因为每当您使用 GET 进行索引时,您总是会覆盖会话中保存的任何内容。如果 GET 请求中没有任何内容,则使用 覆盖会话值none

request.GET在设置符号之前,您可能应该检查符号是否存在request.session


推荐阅读