使用auth.authenticate(username= username,passowrd=passowrd),这个用户认证时候,明明数据库中有记录,但是返回就None

我的错误点比较多:

1.我创建的用户名和密码,并没有添加到在auth_user(django自带的表)中,而是放进了通过modely映射生成的表,从而导致auth.authenticate()根本查不到响应的数据

2.插入数据用户名密码时应该用User.objects.create_user(username=username,password=password),这个方法会把密码生成哈希值,插进数据库,而不能用User.objects.create(。。。。),这样插进去的数据密码是明文滴~~~~

总结:用对方法User.objects.create_user(username=username,password=password),插对表user

下面是调用注册和登录的代码:

 
#coding = utf-8
from django.shortcuts import render
from django.http import JsonResponse
import time
from django.views.decorators.csrf import csrf_exempt
from sign1.models import smile_task_user
from django.core.exceptions import ValidationError
from django.contrib import auth
from django.contrib.auth.models import User #注册接口POST /register username/password
@csrf_exempt
def register(request): username = request.POST.get('username','')
password = request.POST.get('password','')
regist_time = time.strftime("%Y-%m-%d %H:%M:%S") if username=="" or password =="" :
return JsonResponse({'message':'username or passowrd is null !!!'}) result = User.objects.filter(username = username)
if result:
return JsonResponse({'message':'username is already exists !!!'}) try:
User.objects.create_user(username=username,password=password) except ValidationError as e:
error = "####create data worng#############"
return JsonResponse({'ststus':10024,'message':error})
return JsonResponse({'username':username,'regist_time':regist_time,'message':'regist ok!'}) #登录接口POST /login username/password
@csrf_exempt
def login(request):
if request.method =="POST":
username=request.POST.get("username","")
password=request.POST.get("password","") user=auth.authenticate(username=username,password=password)
print(user)
#user = smile_task_user.objects.filter(username = username,password = password)
if user is not None:
auth.login(request,user)
request.session['user'] = username # 将 session 信息记录到浏览器
return JsonResponse({'message':"login sucess"})
else:
return JsonResponse({'message':"username or password is error!!"})
 

折磨我好几分钟!!!

使用auth.authenticate(username= username,passowrd=passowrd),这个用户认证时候,明明数据库中有记录,但是返回就None

我的错误点比较多:

1.我创建的用户名和密码,并没有添加到在auth_user(django自带的表)中,而是放进了通过modely映射生成的表,从而导致auth.authenticate()根本查不到响应的数据

2.插入数据用户名密码时应该用User.objects.create_user(username=username,password=password),这个方法会把密码生成哈希值,插进数据库,而不能用User.objects.create(。。。。),这样插进去的数据密码是明文滴~~~~

总结:用对方法User.objects.create_user(username=username,password=password),插对表user

下面是调用注册和登录的代码:

#coding = utf-8
from django.shortcuts import render
from django.http import JsonResponse
import time
from django.views.decorators.csrf import csrf_exempt
from sign1.models import smile_task_user
from django.core.exceptions import ValidationError
from django.contrib import auth
from django.contrib.auth.models import User #注册接口POST /register username/password
@csrf_exempt
def register(request): username = request.POST.get('username','')
password = request.POST.get('password','')
regist_time = time.strftime("%Y-%m-%d %H:%M:%S") if username=="" or password =="" :
return JsonResponse({'message':'username or passowrd is null !!!'}) result = User.objects.filter(username = username)
if result:
return JsonResponse({'message':'username is already exists !!!'}) try:
User.objects.create_user(username=username,password=password) except ValidationError as e:
error = "####create data worng#############"
return JsonResponse({'ststus':10024,'message':error})
return JsonResponse({'username':username,'regist_time':regist_time,'message':'regist ok!'}) #登录接口POST /login username/password
@csrf_exempt
def login(request):
if request.method =="POST":
username=request.POST.get("username","")
password=request.POST.get("password","") user=auth.authenticate(username=username,password=password)
print(user)
#user = smile_task_user.objects.filter(username = username,password = password)
if user is not None:
auth.login(request,user)
request.session['user'] = username # 将 session 信息记录到浏览器
return JsonResponse({'message':"login sucess"})
else:
return JsonResponse({'message':"username or password is error!!"})

折磨我好几个晚上~~~

分类: django
好文要顶
关注我
收藏该文

0
0
 
posted @ 2016-11-02 18:30 龙心呢 阅读(28) 评论(0) 编辑 收藏
发表评论

昵称:

评论内容:





退出登录 订阅评论

[Ctrl+Enter快捷键提交]

公告

昵称:龙心呢
园龄:2年2个月
粉丝:0
关注:2

< 2016年12月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

搜索

 

django 的auth.authenticate返回为None的更多相关文章

  1. python - django authenticate 返回结果一直是None

    # 不论怎么测试 authenticate 返回结果一直是None,查了查原因好像是 django 2.1 版本的问题 ( 我用的是 2.1.7) 解决方法: 1. 先导入 from django.c ...

  2. Django之auth模块(用户认证)

    auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的 ...

  3. Django进阶-auth集成认证模块

    auth认证模块是Django内置集成的一个用户认证模块. auth认证模块方法 方法 释义 auth.authenticate() 认证校验 auth.login(request,user) 封装认 ...

  4. Django之auth组件

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...

  5. Django之Auth模块 实现登录,退出,自带session 与认证功能的一个重要的模块

    Auth模板 1. 什么是Auth模块,有什么用? django的auth的模块的使用: auth 是集合注册,登录,注销,session 多个功能集合在一起的模块 2. 使用Auth组件的默认aut ...

  6. django之auth认证系统

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...

  7. Django权限auth模块详解

    转自:http://www.cnblogs.com/Finley/p/5575305.html 1,auth模块是Django提供的标准权限管理系统,可以提供用户身份认证,用户组和权限管理 2,aut ...

  8. Django的auth【认证】模块简介

    首先我们先来复习一下路由别名如何使用,这里仅仅复习一下二级路由的路由别名该如何使用 ·1.在视图函数中使用二级路由别名,需要加上app的名称+“:”+ “路由别名” from django.urls ...

  9. Django之auth模块用户认证模块

    一.Auth模块 1)auth模块是什么.登录后台使用的账号密码,则就是使用的auth模块创建的表 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站 ...

随机推荐

  1. 【crunch bang】字体美化

    中文字体美化是个很讨厌的事情,无数初学者在这里面浪费了无数时间,做了无数没有意义的事情.但这也是不得不做的,我把 Debian/Ubuntu 所需要的中文字体美化操作步骤详细记录在这里,希望能节约大家 ...

  2. 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书

    <C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...

  3. scala匿名函数

    package com.ming.test import scala.math._ object AnonymousFunc { def valueAtOneQuarter(f:(Double)=&g ...

  4. 安装SQL Server 2005

    在安装SQL Server 2005时,经常会遇到一些错误,从而使系统无法正常安装.下面讲解在安装过程中经常出现的一些错误及其解决的方法.1.解决在安装SQL Server 2005时安装程序被挂起的 ...

  5. JS调用Java函数--DWR框架

    (1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJA ...

  6. 【jqGrid for ASP.NET MVC Documentation】.学习笔记.7.搜索过滤数据

    1 基础 搜索和过滤功能,是使用确定的条件,查找匹配行数据.jqGrid提供几种搜索模式: Search Dialog 单搜索选项 Search Dialog 多搜索选项 ToolBar Search ...

  7. Hibernate,JPA注解@Entity

    通过@Entity注解将一个类声明为一个实体bean(即一个持久化POJO类), @Id注解则声明了该实体bean的标识属性. 其他的映射定义是隐式的. 就是说一个持久化POJO类,除了主键ID需要@ ...

  8. spring mvc+myBatis配置详解

    一.spring mvc Spring框架(框架即:编程注解+xml配置的方式)MVC是Spring框架的一大特征,Spring框架有三大特征(IOC(依赖注入),AOP(面向切面),MVC(建模M- ...

  9. Oracle中左右外连接详解

    数据表的连接有:  1.内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2.外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两 ...

  10. js笔记----(运动)淡入淡出

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...