我正在开展一个项目,我正在进行注册/登录模块。我已经成功地在webapp2 python中实现了会话。现在我想在登录时实现记住我的功能。我无法找到任何可以帮助我的东西。我知道我必须设定会话年龄。但是我不知道怎么做。这是我的会话代码。
$ pip install iplib
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==8.1.2', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 552, i n load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2672, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2345, in load
return self.resolve()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2351, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python2.7/site-packages/pip/__init__.py", line 16, in <module>
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "/usr/lib/python2.7/site-packages/pip/vcs/subversion.py", line 9, in <mod ule>
from pip.index import Link
File "/usr/lib/python2.7/site-packages/pip/index.py", line 30, in <module>
from pip.wheel import Wheel, wheel_ext
File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 39, in <module>
from pip._vendor.distlib.scripts import ScriptMaker
File "/usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.py", line 1 4, in <module>
from .compat import sysconfig, detect_encoding, ZipFile
File "/usr/lib/python2.7/site-packages/pip/_vendor/distlib/compat.py", line 31 , in <module>
from urllib2 import (Request, urlopen, URLError, HTTPError,
ImportError: cannot import name HTTPSHandler
配置:
def dispatch(self):
# Get a session store for this request.
self.session_store = sessions.get_store(request=self.request)
try:
# Dispatch the request.
webapp2.RequestHandler.dispatch(self)
finally:
# Save all sessions.
self.session_store.save_sessions(self.response)
@webapp2.cached_property
def session(self):
# Returns a session using the default cookie key.
return self.session_store.get_session()
请帮帮我。
答案 0 :(得分:1)
首先,如果你不知道会话和cookie之间的区别
什么是 Cookie ? Cookie是存储在a上的一小段文本 用户的浏览器计算机。 Cookie的常见用途是 身份验证,存储网站首选项,购物车项目和 服务器会话识别。
每次用户&#39; Web浏览器将与Web服务器进行交互 将cookie信息传递给Web服务器。仅存储cookie 通过与请求的URL中的域相关的浏览器将是 发送到服务器。这意味着与之相关的cookie www.example.com不会发送到www.exampledomain.com。
实质上,cookie是将一个页面链接到下一个页面的好方法 用户与网站或网络应用程序的交互。
什么是会话?会话可以定义为服务器端存储 希望在整个用户中持续存在的信息 与网站或Web应用程序的交互。
而不是通过存储大量不断变化的信息 用户浏览器中的cookie只存储唯一标识符 客户端(称为&#34;会话ID&#34;)。此会话ID传递给 每次浏览器发出HTTP请求(即页面)时,Web服务器 链接或AJAX请求)。 Web应用程序将此会话ID与 它的内部数据库并检索存储的变量以供使用 请求的页面。
如果你想实现类似&#34的东西;请记住我&#34;你应该使用cookies,因为会话中存储的数据不是持久的。
在webapp2
中设置和获取Cookie:
response.headers.add_header('Set-Cookie', 'remember_me=%s' % some_hash)
request.cookies.get('remember_me', '')
我强烈建议您阅读已经彻底解释过这些内容的article。