【问题标题】:Django session doesn't work in FirefoxDjango 会话在 Firefox 中不起作用
【发布时间】:2012-11-17 14:03:21
【问题描述】:

我有一个搜索视图,它在会话中保存一些数据以供另一个视图使用:

def search(request):
    ...
    if request.method == 'POST':
        form = SearchForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            melk=data(cd)
            request.session['data'] = melk
            request.session['form'] = form
            return redirect('/result/')
    ...

def result(request):
    ...
    melk_list = request.session['data']
    form = request.session['form']
    ...

当我使用 Chrome 时,一切都很好。但是当我使用 Firefox 时,它第一次运行良好,但之后每次搜索都会返回我的第一个结果!似乎request.session 在第一次之后没有改变。我试图删除与del request.session['data'] 的会话,但没有成功。

我的会话后端是一个数据库,但 Firefox 制作了一个会话 cookie。

【问题讨论】:

    标签: python django django-sessions


    【解决方案1】:

    试试

    request.session.modified = True
    

    【讨论】:

    • 尝试删除所有 cookie,然后重试。
    • 当我在下一次搜索后删除 Firefox coockie 时,它​​又生成了另一个 coockie。我不明白我的会话后端是 db 为什么 firefox 使用 coockie 进行会话?!
    • 如果您使用的是“django.contrib.sessions.backends.cached_db”,请阅读以下docs.djangoproject.com/en/dev/topics/http/sessions/…
    • 我阅读了这份文件。我的后端是数据库..我的问题是为什么它在 chrome 中运行良好并且在 firefox 上有问题?
    • 使用这个pypi.python.org/pypi/django-debug-toolbar并在firefox中检查会话数据
    猜你喜欢
    • 2014-06-28
    • 2012-05-28
    • 1970-01-01
    • 2021-05-19
    • 2011-06-11
    • 2016-08-26
    • 2015-06-05
    • 2023-03-12
    • 2011-02-13
    相关资源
    最近更新 更多