标签: django-sessions

创建django会话时

我真的不明白什么时候创建会话以及创建它的实体(每个ip,每个浏览器,每个登录用户).我在文档中看到默认情况下会话是按访问者创建的 - 但访问者(浏览器或IP)是什么?

django django-sessions

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

使用django signed cookie会话而不是基于django db + cache的会话的性能比较?

Django 1.4提供了几种维护django会话的方法:

我对使用的看法:

i)仅缓存:不可取,用户会话可能会从memcache中清除.

ii)Db + cache(cached_db):优选,简单和安全的解决方案.

iii)签名cookie会话:优先,没有数据库命中.

假设会话数据非常小,即将其存储在cookie中没有问题.在数据库+ memcache驱动的会话引擎上使用签名cookie是否有任何性能优势?对于N个并发新用户,将保存N个数据库命中的顺序.这将减少数据库服务器每单位时间必须处理的总查询.

更新:我们发现redis或aerospike是django真正强大且高吞吐量的会话后端.我们正在使用redis会话后端

django session django-sessions

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

如何限制登录Django中同一帐户的并发用户数

我的网站是一个用Django编写的数字市场网站.

默认情况下,网站上的数字内容(文本,图像,视频)处于"锁定"状态.只有购买这些内容的用户才能查看.

有一个故事,某个用户(谁购买了内容)免费向许多人赠送用户名/密码(例如,Facebook群组中有1000多人).然后,这1,000名用户可以使用该单一用户名/密码登录,并查看"锁定"的数字内容而无需支付一分钱.

是否可以限制同一帐户的并发登录次数?

我发现这个包裹:

https://github.com/pcraston/django-preventconcurrentlogins

但是当有人使用相同的用户名/密码登录时,它的作用是记录以前的用户.这无济于事,因为每个用户每次只需输入用户名/密码即可访问"锁定"内容.

django django-admin django-authentication django-sessions django-users

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

如何在django中显示所有会话变量?

如何显示所有会话变量?我知道可以使用变量访问request.session['variable']但我想知道是否有其他变量由其他人设置或在用户登录或类似的其他事件期间自动设置.

django django-sessions

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

如何捕获匿名用户的会话密钥(django 1.6)

我试图通过会话信息跟踪AnonymousUsers(如果可能的话).

在旧版本的Django中,我可以做类似的事情:

def my_view(request):

    # in case the user wasn't logged in, create/save a session
    if not request.session.session_key:
        request.session.save()

    # would give me the key and on the next load it would persist
    session_key = request.session.session_key
Run Code Online (Sandbox Code Playgroud)

但是对于1.6(我已经离开游戏一段时间),每次请求通过时都会产生一个新的唯一会话ID.没有持久性.我试着做一点阅读,但是因为我没有参加Django练习而进入了圈子.

如何保持会话?我需要编写自己的cookie处理吗?

django django-sessions

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

AttributeError:'WSGIRequest'对象没有属性'session'

我随机时间不断收到此错误,每当我触摸django.wsgi文件时,它只会在几个小时后再次发生.我迷失了该怎么做.我的middleware_classes如下:

MIDDLEWARE_CLASSES = (
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.middleware.csrf.CsrfResponseMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.facebookConnectMiddleware.FacebookConnectMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)
Run Code Online (Sandbox Code Playgroud)

当我执行"if request.session"语句时,错误总是出现在facebook中间件中.谢谢

django session middleware django-middleware django-sessions

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

Django:有什么方法可以避免在每次请求时查询request.user吗?

对于我的网站,几乎每个页面都有一个标题栏显示"欢迎,ABC",其中"ABC"是用户名.这意味着request.user将为每一个请求调用,导致数据库一次又一次地命中.

但是一旦用户登录,我应该能够将他的user实例存储在他的cookie中并加密它.这样我可以避免重复访问数据库,而只是request.user从cookie中检索.

你会如何修改Django来做到这一点?是否有任何Django插件可以满足我的需求?

谢谢

django django-authentication django-sessions

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

从所有用户删除会话密钥

当用户登录时,一些细节会保存到会话中,让我们说使用key ='user_settings'

当系统内发生某些更新时,我需要遍历所有用户并从每个用户会话中删除"user_settings"键.这样我就会触发从数据库中加载新鲜的细节.

如何遍历所有会话并从每个会话中删除密钥?

django django-sessions

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

Django会话不在iframe中维护

我正在使用django创建对话式聊天机器人。为了保持chatbot中的聊天流程,我使用django会话。但是,当我在iframe中使用聊天机器人的链接时,它不存储任何会话,并且流量中断。我想要一个即使在iframe中也有助于维护会话的函数。

对于Iframe

<html>
<head></head>
<body>
<embed style=" width: 384px; height: 525px; margin-right: 0px !important; bottom: 0px; float: right; position: absolute; bottom: 30px; width: 100%;" frameborder="0" scrolling="no" id="iframe" src="http://*********.com/********/*******.html">


</body>
</html>
Run Code Online (Sandbox Code Playgroud)

代码用于维护会话

@staticmethod
    def extract_data(request, input_data):
        from chat import validations
        if 'city' not in request.session:
            response_data = {'extra': {}, 'data': {}}
            response_data['extra']['statement'] = 'Select Car Model which you like to rent?'
            response_data['extra']['type'] = 'carmodel'
            response_data['data'] = Cars.city_check(request,response_data, input_data)

        elif 'veh_name' not in request.session:

            response_data = Cars.veh_name_check(request, input_data)

        elif 'days' not in …
Run Code Online (Sandbox Code Playgroud)

django iframe django-sessions

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

由于Django应用程序中的不活动,如何强制执行自动注销?

在我的Django应用程序中,我希望用户在30分钟不活动后自动注销,所以我在settings.py中使用了这个设置:

SESSION_COOKIE_AGE = 1800
Run Code Online (Sandbox Code Playgroud)

但是,使用此设置会在30分钟内将用户注销,而不管活动如何.由于Django应用程序中的不活动,如何强制执行自动注销?

django django-sessions

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