1.cookies会话(还没有使用过)
首次HTTP访问会给浏览器送去一些cookies,之后每次访问浏览器都会告诉服务器自己的cookies是多少。
2.session会话(还没有使用过)
Django的session框架:
(1)中间件中存在: ‘django.contrib.sessions.middleware.SessionMiddleware‘
(2) INSTALLED_APPS 中有 ‘django.contrib.sessions‘
session框架激活后,可以使用 request.session 是一个字典对象。
3.用户与Authentication
(1)django.contrib.auth‘ 放在你的 INSTALLED_APPS 设置中
(2)确认 SessionMiddleware 后面的 MIDDLEWARE_CLASSES 设置中包含‘django.contrib.auth.middleware.AuthenticationMiddleware‘
安装之后,就可以使用user了,列如 request.user
authentication()验证
login()登录
logout() 登出
1 def login_(request): 2 """登陆""" 3 context = {} 4 if request.method == ‘POST‘: 5 form = LoginForm(request, request.POST) 6 if form.is_valid(): 7 user = form.get_user() # 获取用户实例 8 if user: 9 login(request, user) 10 if form.get_auto_login(): # set session 11 request.session.set_expiry(None) 12 13 return HttpResponseRedirect(‘/‘) 14 context[‘form‘] = form 15 16 else: 17 form = LoginForm() 18 context[‘form‘] = form 19 return render(request, ‘login.html‘, context)
(1)authenticate认证用户(user)
1 from django.contrib.auth import authenticate 2 user = authenticate(username=‘john‘, password=‘secret‘) 3 if user is not None: 4 # 验证成功返回用户对象 5 if user.is_active: 6 print("# is_active验证是否用户活跃") 7 else: 8 print("不活跃的话也不能登录,不会删除用户,只会设置标志位") 9 else: 10 # 验证失败返回一个 None 11 print("验证失败")
(2)默认的权限:一般是对数据库操作就是增删改查(查不需要)
参考链接:http://python.usyiyi.cn/django/topics/auth/default.html
时间: 2024-07-29 13:31:15