django Auth用户登录
django Auth用户登录
from apps.子应用名.models import UserDetails, User
from django.contrib import auth
from django.db import transaction
from django.shortcuts import HttpResponse
from django.http import HttpRequest, JsonResponse
from django.views.decorators.http import require_http_methods
import json@require_http_methods(['POST'])
def sign_in(request: HttpRequest, *args, **kwargs):body = json.loads(request.body)if 'email' in body and 'password' in body:existing = auth.authenticate(email=body['email'], # 这里password=body['password'])if existing is not None:auth.login(request, existing) # 写session和cookies,一定要是authenticate的返回值当参数response = JsonResponse({'email': existing.email, 'name': existing.username})else:response = HttpResponse('请先注册。', status=202)else:response = HttpResponse("缺少参数。", status=400)return response
上面代码中的参数不是username是因为之前对djangoAuth的用户实体进行了自定义。
import requests
import jsonres = requests.post(url='http://localhost:8000/signIn/', # urls里映射成/signIn了data=json.dumps({'email': 'domain@example.com','password': 'password'})
)
print(res.status_code, res.text, res.cookies)
输出:
200 {"email": "domain@example.com", "name": "hello_ world"} <RequestsCookieJar[<Cookie index=dhtsjajgqg064n26hfbd1sey6tifh594 for localhost.local/>]>
django Auth用户登录相关推荐
- Django auth用户认证模块
Django auth用户认证模块 1.Django auth用户认证 2.Django auth用户模型 3.自定义auth用户模型 4.数据迁移 5.web开发一个应用 5.1 定义路由 1.一级 ...
- Django:用户登录authenticate一直校验不通过
基于:Django3.2 发现authenticate一直校验不通过,排查账户名密码没有问题,最后发现创建用户时,单独将is_active设置为了非活跃账户,导致校验不通过. 使用 create_us ...
- Django的用户登录和注册
能成功登录和注册并实现页面之间的跳转 前提:能成功安装基础的Django 创建应用并添加到项目中 python .\manage.py startapp user 创建存放模板的目录并添加到项目中 欢 ...
- 【django】用户登录模块实现步骤(三)之QQ用户是否绑定项目用户的处理和QQ用户绑定项目用户功能实现【34】
一.判断openid是否绑定过⽤户 使⽤openid查询该QQ⽤户是否在芒果头条中绑定过⽤户. openid已绑定⽤户的处理: 如果openid已绑定芒果头条⽤户,直接⽣成状态保持信息,登录成功,并重 ...
- 【django】用户登录模块实现步骤(二)之QQ登录工具AgentLogin和通过OAuth2.0认证获取openid【33】
一.QQ登录工具AgentLogin 1.AgentLogin介绍 ⽬前只⽀持 腾讯QQ,微信,微博的第三⽅登录 该⼯具封装了QQ登录时对接QQ互联接⼝的请求操作.可⽤于快速实现QQ登录功能. 2.A ...
- 【django】用户登录模块实现步骤(一)之QQ登录模型类【32】
一.QQ登录流程分析 二.户登录 QQ登录成功后,我们需要将QQ户和芒果头条户关联到起,便下次QQ登录时使,所以我们选择使MySQL数据库进存储. 1.定义QQ登录模型类 创建个新的应oauth,来实 ...
- 用户修改了信息jwt服务器怎么识别,django使用JWT保存用户登录信息
什么是JWT? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站 ...
- Django框架(十八)—— auth框架:用户登录、注册、认证
auth模块 一.什么是author模块 Auth模块是Django自带的用户认证模块,可以实现包括用户注册.用户登录.用户认证.注销.修改密码等功能.默认使用 auth_user 表来存储用户数据. ...
- django 的用户验证及登录状态保持
一.用户验证功能 Django自带用户验证及登录功能,引入模块为: from django.contrib.auth import authenticate 其中方法authenticate()的接收 ...
最新文章
- matlab迷宫做短路径,迷宫最短路径问题解析
- SpringBoot整合Mybatis完整详细版
- innodb 悲观锁 乐观锁_mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁
- springboot hibernate 缓存不更新_spring boot 整合 ehcache
- android音量加减驱动,android下调试声卡驱动之概述
- android 4.4 webview 上传,android使用webview上傳文件(適配4.4以上系統)
- 巧用DOS命令打印上线文件列表
- 大数据分析,在中国找个身高1米7年入20万的老公,到底有多难?
- emoji java 转码_Java Emoji Converter (Emoji表情转换工具)
- [Luogu P4630] [BZOJ 5463] [APIO2018] Duathlon 铁人两项
- 2018年我国人均国民总收入达到9732美元,国民经济持续快速增长
- js月份的计算公式_JavaScript getMonth() 方法
- void 和 void *区别(c++)
- 手机连接电脑 不显示android phone
- Kibana快速上手
- 收集一些英文MTV的网站
- Android P 外置 SD 卡写入权限问题
- MySQL查询某个列中相同值的数量统计
- 计算机应用基础考查方案,《计算机应用基础》考查方案
- XMPP协议和asmack