前言:在下只是一个简单的小白,只是想想记录下在使用django开发过程中遇到的问题与处理,如有问题真心的希望指出。下面说的是网站开发基本上有的登入验证。
一、使用login_required函数进行登入验证。
1、引入函数:from django.contrib.auth.decorators import login_required
2、需要配置跳转路由,在setting中配置LOGIN_URL=‘跳转路径’,就是当在未登入状态进入的路由。
3、用户表的model需要继承 AbstractUser
引入 from django.contrib.auth.models import AbstractUser
例如:
class User(AbstractUser):
‘’‘’
具体内置字段请查阅资料或是引入后Ctrl+左键进入查看函数源码
1.1 使用装饰器的方式来配合使用
@login_required
def changelanguage(request):
pass
1.2 编写成继承对象。
from django.views import View
class LoginRequiredView(View):
@classmethod
def as_view(cls, **initkwargs):
view = super(LoginRequiredView, cls).as_view()
return login_required(view)
编写视图函数的时候继承就行了
2、控制登入过期时间
# ————登录过期时间
SESSION_COOKIE_AGE=60*60*24*2 按秒计算
3、数据库显示的登入时间
在登入后,登入的内容会放到django_session中
时间为过期时间