zmz 1 year ago
parent 5f1b97bc4e
commit c68a6ba539

@ -1,24 +1,24 @@
import re # import re
from django.shortcuts import redirect # from django.shortcuts import redirect
from django.utils.deprecation import MiddlewareMixin # from django.utils.deprecation import MiddlewareMixin
#
# 自定义中间件(登录验证) # # 自定义中间件(登录验证)
class AuthMiddleware(MiddlewareMixin): # class AuthMiddleware(MiddlewareMixin):
def process_request(self,request): # def process_request(self,request):
# 需要登录后访问的地址要验证登录状态 # # 需要登录后访问的地址要验证登录状态
# 拿到请求的路径,然后与列表中的路径作对比 # # 拿到请求的路径,然后与列表中的路径作对比
# 默认所以路径都需要验证,如果请求的路径在列表中,那么不用验证就可以进入 # # 默认所以路径都需要验证,如果请求的路径在列表中,那么不用验证就可以进入
url = request.path_info # url = request.path_info
for i in [r'^/admin/','r/^user/login/$','r/^/user/userreg/$']: # for i in [r'^/admin/','r/^user/login/$','r/^/user/userreg/$']:
if re.match(i,url): # if re.match(i,url):
#请求的路径是列表的路径那么直接返回,不再阻拦 # #请求的路径是列表的路径那么直接返回,不再阻拦
return # return
#
#校验登录状态 # #校验登录状态
is_login = request.session.get('is_login') # is_login = request.session.get('is_login')
if is_login: # if is_login:
#已经登录可以访问直接return # #已经登录可以访问直接return
return # return
else: # else:
#未登录,跳转到登录页面 # #未登录,跳转到登录页面
return redirect('/user/login') # return redirect('/user/login')

@ -5,5 +5,6 @@ from manage import views
from manage.views import * from manage.views import *
urlpatterns = [ urlpatterns = [
path('login/', ChooseLoginView.as_view()), path('admin/', admin.site.urls),
path('', views.ChooseLoginView.as_view()),
] ]

@ -49,7 +49,7 @@ MIDDLEWARE = [
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'manage.middlewares.my_middlewares.AuthMiddleware'#自定义中间件 # 'manage.middlewares.my_middlewares.AuthMiddleware'#自定义中间件
] ]
ROOT_URLCONF = 'project_manage.urls' ROOT_URLCONF = 'project_manage.urls'
@ -115,6 +115,8 @@ LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai' TIME_ZONE = 'Asia/Shanghai'
USE_I18N = False USE_I18N = False
USE_TZ = True USE_TZ = True
SIMPLEUI_DEFAULT_THEME = 'element.css' SIMPLEUI_DEFAULT_THEME = 'element.css'
STATIC_URL = '/static/' STATIC_URL = '/static/'
STATICFILES_DIRS = [ STATICFILES_DIRS = [

@ -16,9 +16,12 @@ Including another URLconf
""" """
from django.contrib import admin from django.contrib import admin
from django.urls import path,include from django.urls import path,include
from manage import views
from manage.views import ChooseLoginView
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
path('user/',include('manage.url')), path('',include('manage.url')),
path('',include('manage.url')) # path('user/',include('manage.url')),
path('user/', ChooseLoginView.as_view()),
] ]

Loading…
Cancel
Save