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:循环定义多个变量的实例详解

对python:循环定义多个变量的实例详解

我们可能会时长碰到这样一个场景,计算得到一个非固定值,需要根据这个值定义相同数量个变量。 实现方式的核心是exec函数,exec函数可以执行我们输入的代码字符串。 exec函数的简单例子...

基于python实现文件加密功能

基于python实现文件加密功能

这篇文章主要介绍了基于python实现文件加密功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 生活中,有时候我们需要对一些重要的文...

Django中使用celery完成异步任务的示例代码

Django中使用celery完成异步任务的示例代码

本文主要介绍如何在django中用celery完成异步任务,web项目中为了提高用户体验可以对一些耗时操作放到异步队列中去执行,例如激活邮件,后台计算操作等等 当前项目环境为: djan...

python list格式数据excel导出方法

如下所示: # _*_ coding:utf-8 _*_ #----------------------------------------------- # import mod...

python实现分析apache和nginx日志文件并输出访客ip列表的方法

本文实例讲述了python实现分析apache和nginx日志文件并输出访客ip列表的方法。分享给大家供大家参考。具体如下: 这里使用python分析apache和nginx日志文件输出...