Django自定义认证方式用法示例

yipeiwu_com7年前Python基础

本文实例讲述了Django自定义认证方式。分享给大家供大家参考,具体如下:

创建登录应用

首先创建一个新的login app,用来存放认证用到代码

python manage.py startapp login

修改settings.py中的认证项

AUTHENTICATION_BACKENDS = (
  'login.auth.UsernamePasswordAuth',
)

自定义认证类

在login app下创建auth.py文件,内容如下

#coding:utf-8
from django.contrib.auth.models import User
class UsernamePasswordAuth(object):
  def authenticate(self, username=None, password=None):
    print("UsernamePasswordAuth.authenticate")
    try:
      user = User.objects.get(username__iexact=username)
      if user.check_password(password):
        return user
    except User.DoesNotExist:
      return None
  def get_user(self, user_id):
    print("UsernamePasswordAuth.get_user")
    try:
      user = User.objects.get(pk=user_id)
      return user
    except User.DoesNotExist:
      return None

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python Socket编程技巧总结》、《Python URL操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

相关文章

python判断windows系统是32位还是64位的方法

本文实例讲述了python判断windows系统是32位还是64位的方法。分享给大家供大家参考。具体分析如下: 通常64的windows系统program files文件夹(用来安装应用...

Python中subprocess的简单使用示例

在c语言中,一个进程可以fork出一个子进程,并让这个子进程exec一个新的命令。在python中,我们通过标准库的subprocess包来fork一个子进程,并在子进程中运行一个新的程...

python实现批量处理将图片粘贴到另一张图片上并保存

pillow真的是一个很强大的图像处理库!!!! 本人利用pillow库实现了将文件夹下的批量照片随机粘贴到另一张图片上,并批量保存到指定文件夹!!! 直接上代码: from PIL...

删除python pandas.DataFrame 的多重index实例

如下dataframe想要删除多层index top1000[:10] name sex...

Python生成随机MAC地址

利用python代码生成一个随机的MAC地址,使用python网络编程时或可用上,如果使用scapy模块则可直接利用RandMAC()函数来生成MAC。 python 复制代码 代码如下...