django自带的验证机制

from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout #登入和登出 from django.contrib.auth.decorators import login_required # 验证用户是否登录 def acc_login(request): if request.method == "POST":
username = request.POST.get("username")
password = request.POST.get("password") user = authenticate(username=username,password=password) # 类型为<class 'django.contrib.auth.models.User'> # print(type(models.Customer.objects.get(name="赵凡")))
# print(user,type(user))
if user: login(request,user) # 验证成功之后登录
return redirect('/crm') return render(request, "login.html") def acc_logout(request): logout(request) # 登出 return redirect("/login")

必须登录之后才能访问页面

from django.contrib.auth.decorators import login_required

@login_required  # 加上这个装饰器就是限制必须登录才能执行这个函数
def dashboard(request):
print(request.user) return render(request, "crm1/dashboard.html")

如果加了@login_required,页面跳转会有问题,解决方法如下

在setting里追加一下内容/login/跟URL是一致的

LOGIN_URL = "/login/"

django自带的登录验证功能的更多相关文章

  1. django 从零开始 8 用户登录验证 待测

    看文档 djang 自带一个用户登录验证的方法,不过有些看着懵逼,去网上找了一圈,发现很多都是照抄文档说明的,几乎没说啥原理 特别是 from django.contrib.auth import a ...

  2. 利用nginx向现有网站添加登录验证功能(不添加修改现有网站代码)

    在不改变现有网站代码的前提下加入验证功能: 1.假设现有网站后端nodejs,端口3000,nginx配置如下 server { listen 80; server_name localhost; l ...

  3. SSM项目使用拦截器实现登录验证功能

    SSM项目使用拦截器实现登录验证功能 登录接口实现 public User queryUser(String UserName, String Password,HttpServletRequest ...

  4. Django通过中间件实现登录验证demo

    前提:中间件版的登录验证需要依靠session,所以数据库中要有django_session表. from django.conf.urls import url from django.contri ...

  5. 【转载】Django自带的注册登陆功能

    1.登陆 知识点: a.auth.authenticate(username=name值, password=password值) 验证用户名和密码 b.auth.login(request, use ...

  6. 基于权限安全框架Shiro的登录验证功能实现

    目前在企业级项目里做权限安全方面喜欢使用Apache开源的Shiro框架或者Spring框架的子框架Spring Security. Apache Shiro是一个强大且易用的Java安全框架,执行身 ...

  7. django自带的用户验证是验证username和password,如何自定义验证功能,让mobil也能作为账户名登录?

    users.views.pyfrom django.contrib.auth.backends import ModelBackendfrom django.db.models import Qcla ...

  8. Django自带的登录功能

    https://www.cnblogs.com/wspblog/p/6634262.html

  9. Django:使用django自带的登录模块登录后会默认登录到 /accounts/profile 下的问题

    django settings中LOGIN_REDIRECT_URL默认重定向到/accounts/profile下,可通过配置修改

随机推荐

  1. data whitening

    http://ufldl.stanford.edu/tutorial/unsupervised/PCAWhitening/

  2. 理解clear:both属性(转)

    理解clear:both属性 在前端开发布局中,经常会被float这个属性搞晕,尤其是新手 CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列.Float(浮动),往往是 ...

  3. Android 退出整个应用程序

    我们在写android应用程序时,经常会遇到想退出当前Acitivity,或者直接退出应用程序.我之前的一般操作是按返回键,或者直接按home键直接返回,其实这两种操作都没有关闭当前应用程序,没有释放 ...

  4. CSS实现跨浏览器兼容性的盒阴影效果

    .shadow { -moz-box-shadow: 3px 3px 4px #000; -webkit-box-shadow: 3px 3px 4px #000; box-shadow: 3px 3 ...

  5. DOM增删操作(创建删除表格)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  6. 关于WebSocket协议

    WebSocket是单个TCP连接上进行全双工通信的协议 在WebSocket的API中,客户端与服务器只需要进行一次握手就可以保持持久的连接,并可以双向传输数据 与HTTP不同的是,WebSocke ...

  7. Android Studio cannot resolve symbols

    引入了第三方类库,不管怎么编译  clean 都找多到类库 关闭重新打开android studio就好了.....  

  8. oracle 用户创建、修改、删除

    创建用户: create user test identified by test; 修改密码: 1.alter user test identified by mima; 2.passw[ord]  ...

  9. 一个Interface 继承多个Interface 的总结

    我们知道在Java中的继承都是单继承的,就是说一个父类可以被多个子类继承但是一个子类只能有一个父类.但是一个接口可以被不同实现类去实现,这就是我们说的Java中的多态的概念.下面我们再来说一下接口的多 ...

  10. Oracle案例11——Oracle表空间数据库文件收缩

    我们经常会遇到数据库磁盘空间爆满的问题,或由于归档日志突增.或由于数据文件过多.大导致磁盘使用紧俏.这里主要说的场景是磁盘空间本身很大,但表空间对应的数据文件初始化的时候就直接顶满了磁盘空间,导致经常 ...