Django session验证登录

2021-05-12  本文已影响0人  山高路远_海深不蓝

简要说明

开启session

设置settiings

INSTALLED_APPS = [
  'django.contrib.sessions',
]
MIDDLEWARE = [
      'django.contrib.sessions.middleware.SessionMiddleware',
]
# 是否关闭浏览器使得Session过期(默认false)
SESSION_EXPIRE_AT_BROWSER_CLOSE = True

数据库使用默认的sqlite3

DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': os.path.join(BASE_DIR, 'db.sqlite3')
    }
]

views中使用session

验证登录中间件

from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import render

class isLogin(MiddlewareMixin):
    def process_request(self, request):
        if request.session.get("isLogin"):
            return None
        # views中验证登录的def demo_toLogin()对应的url不使用中间件
        if "demo_toLogin" in request.path:
            return None
        return render(request, "demo/login.html")
MIDDLEWARE = [
     'backStage.myMiddleware.isLogin'
]
上一篇下一篇

猜你喜欢

热点阅读