标签: django-sessions

Django:使变量持久化

基本上我想在 Django 中创建一个变量持久化,但我不知道如何。

更准确地说,我希望用户在登录站点时选择一个特定的项目(例如通过 ChoiceField)。然后,只要他不选择其他项目,站点就“知道”他选择了哪个项目,以便他可以执行与该项目相关的一些操作。

这怎么可能?会话变量是要走的路吗?或者也许是缓存系统?一些提示将不胜感激:)

如果我不够清楚,请告诉我

django global-variables django-cache persistent-data django-sessions

2
推荐指数
1
解决办法
3161
查看次数

修改其他Django用户的会话数据

这可能无法实现,但是当某些情况发生时,我想修改某些已登录用户的会话数据(标记为下次他们加载页面时需要运行一些额外的逻辑)。

有没有一种方法可以通过其ID访问用户的会话?

django session django-sessions

2
推荐指数
1
解决办法
596
查看次数

如何在django模板中检查用户是否在线?

在模板中,当我使用时

{% if topic.creator.is_authenticated %}
Online
{% else %}
Offline
{% endif %}
Run Code Online (Sandbox Code Playgroud)

用户结果总是在线,即使他们刚刚退出.所以我想知道如何正确检查在线用户?

django django-templates django-sessions

2
推荐指数
2
解决办法
7891
查看次数

Django:在中间件中检索会话或cookie

我可以在中间件中获取当前会话或cookie吗?

我试过但是我得到了:

'WSGIRequest' object has no attribute 'session'
Run Code Online (Sandbox Code Playgroud)

python django django-middleware django-sessions

1
推荐指数
1
解决办法
650
查看次数

在javascript中获取django站点的会话ID

如何使用javascript获取最终存储在cookie中的django会话ID?

我需要获取该 ID 的原因是我正在通过 REST API 执行所有操作,包括身份验证。因此,开发移动应用程序的人正在使用 ionic,他们希望向 API 发出请求以获取该会话 ID - 然后在未来的请求中使用它。有什么建议吗?

javascript django django-sessions django-rest-framework

1
推荐指数
1
解决办法
3941
查看次数

尽管 SESSION_SAVE_EVERY_REQUEST (Django 1.10.1) 未设置 request.session.session_key

从我这里的理解session_key 是会话对象的主键。

当我检查 request.session 时,我确实找到了一个会话对象,但它的主键没有设置。它似乎没有保存。所以现在我通过检查每个视图是否存在 request.session.session_key 来解决这个问题,如果不存在,调用 save()。

有没有人解释为什么我似乎只能得到未保存的会话对象?

django django-sessions

1
推荐指数
1
解决办法
1178
查看次数

django - 当我使用链接返回同一页面时,由于某种原因会话不会保存

在我的观点之一中,我正在保存一些这样的会话:

def myview(request):
    request.session['session_1'] = 'value1
    request.session['session_2'] = 'value2'
Run Code Online (Sandbox Code Playgroud)

然后,在同一视图函数以及其他应用程序上找到的其他视图上,我尝试获取如下会话值:

   session_value1 = request.session['session_1'] 
   session_value2 = request.session['session_2']
Run Code Online (Sandbox Code Playgroud)

我希望“session_1”和“session_2”的值永远不会过期,并且可以在网站上的任何位置使用(就像同一应用程序上的其他视图和其他应用程序上的视图一样)。

我的问题是,当我在同一页面/视图上(如上所述)时,当我刷新页面时,我在检索 session_1 和 session_2 值时遇到问题。但假设我转到另一个页面然后返回原始页面,“session_1”和“session_2”值就会消失。此外,“session_1”和“session_2”的值在任何其他页面/视图上都不可用。

我的 settings.py 上没有会话设置,因此会话的所有值都是默认值。

有什么想法为什么会话没有保存吗?谢谢你!

django django-views django-sessions

0
推荐指数
1
解决办法
4777
查看次数

Django检索会话用户ID

我正在使用登录中间件来创建用户登录表单.

用户成功登录后,从视图中检索用户ID的最佳方法是什么?

创建了一个middleware.py:

class LoginMiddleware(object):
    def process_request(self, request):
        if request.path != self.require_login_path and request.user.is_anonymous():
            if request.POST:
                return login(request)
            else:
                return HttpResponseRedirect('%s?next=%s' % (self.require_login_path, request.path))
Run Code Online (Sandbox Code Playgroud)

django django-sessions

0
推荐指数
1
解决办法
3788
查看次数

部署时 Django 管理员登录“CSRF cookie 未设置”,但可在本地主机上运行

我向 CORS_ALLOWED_ORIGINS 和 CSRF_TRUSTED_ORIGINS 以及 ALLOWED_HOSTS 添加了域的多个变体。我添加django.template.context_processors.csrf到 context_processors 中。我没有将 CSRF_COOKIE_SECURE 和 SESSION_COOKIE_SECURE 设置为 true (我希望我可以更改)。我想不出还有什么可以让它在 Django admin 上工作,并且在我设置会话身份验证(包括配置 csrf 和会话 cookie)后它才停止工作。当我没有对前端进行任何身份验证时,Django 登录工作正常,甚至像我说的那样,它在本地主机上工作正常。

我真的很感激任何有关我可以尝试解决此问题的其他建议。

更新:现在我收到此错误消息 Referer checking failed - https://myapp.herokuapp.com/admin/login/?next=/admin/ does not match any trusted origins.

我认为问题可能在于它是一个 heroku 子域,所以我添加了一个域和一个 SSL 证书。新域出现完全相同的错误。

我的 CORS_ALLOWED_ORIGINS 包括https://myapp.herokuapp.comandhttps://www.example.com和,因为斜杠不断从浏览器复制,https://www.example.com/. 即使有 SSL 证书,我也包含了每个地址的 http:// 版本。

django csrf django-admin django-sessions django-csrf

0
推荐指数
1
解决办法
2501
查看次数