graphene-django开发实践——登录为例
graphene-django开发实践——登录为例
django官方文档
登录接口实现userLogin为例
model:
属性设定,首先得有用户名和密码
class AccountUser(BaseModel):username = models.CharField(max_length=50, blank=True, default=None)password = models.CharField(max_length=50, blank=True, default=None)last_login_time = models.DateTimeField(auto_now_add=True)role = models.ForeignKey(AccountRole, null=True, blank=True, on_delete=models.SET_NULL, related_name='users')class Meta:db_table = "account_user"
注:basemodel封装了节点的公共属性
type:
class UserNode(DjangoObjectType):class Meta:model = AccountUserfilter_fields = ['role']interfaces = (relay.Node,)
schema:
class Mutation(graphene.ObjectType):user_login = UserLoginMutation.Field()
admin中注册:
admin.site.register(models.AccountUser)
mutation具体实现:
class UserLoginMutation(graphene.Mutation):class Arguments:username = graphene.String(required=True)password = graphene.String(required=True)response = graphene.Field(DefaultResponse)@classmethoddef mutate(cls, root, info, username, password):response = DefaultResponse(code="0",token="0",desc="failure")user = AccountUser.objects.filter(username=username).first()if user:if user.password == password:token = jwt_generator(username, user.role.name)cache.set('jwt-' + username, token)response = DefaultResponse(code="1",token=token,desc="success")return UserLoginMutation(response=response)
功能验证:
graphene-django开发实践——登录为例相关推荐
- Django 开发中的最佳实践之一
为什么80%的码农都做不了架构师?>>> Django 开发中的最佳实践之一 本文关注 Django 开发中调试的部分. 出自 Flask 项目旗下的 Werkzeug deb ...
- Django开发准则与最佳实践
最近在网易云课堂学习一门django高级实战教程,本文是学习课时14.15的一些笔记 Django开发准则与最佳实践 一.优先使用自定义用户模型 继承BaseUserManager和AbstractB ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(2)用户登录、注销
上次实现了用户注册,这次来实现用户登录,用到IAuthenticationManager的SignOut.SignIn方法和基于声明的标识.最后修改用户注册代码实现注册成功后直接登录. 目录: ASP ...
- 用 Django 开发微信小程序后端实现用户登录
本文将介绍采用 Django 开发微信小程序后端,通过将用户模块进行重构,并采用JWT来进行用户认证,来解决以下问题: 微信小程序不支持 Cookie,因此不能采用 Django 默认的 Sessio ...
- 【Django 开发】面试招聘信息网站(用户登录注册投在线递简历)
该文章收录专栏 -Django从(图文并茂轻松上手教程)专栏-!! ??内容: [Djang | 增删改查]学生系统案例 [Django | 项目搭建]快速搭建自己的项目 [Django | alla ...
- python上手--flask框架web开发实践-数据库
这篇文章,由易而难,步骤清晰,思路讲得很明白.花两小时跟着作者稻谷先生的这篇文章走一遍,对学习python使用Flask来开发web的应用很有帮助. python上手--flask框架web开发实践 ...
- 《JavaScript设计模式与开发实践》阅读摘要
<JavaScript设计模式与开发实践>作者:曾探 系统的介绍了各种模式,以及js中的实现.应用,以及超大量高质量代码,绝对值得一读 面向对象的js 静态类型:编译时便已确定变量的类型 ...
- 【新书推荐】《微软开源跨平台移动开发实践》带你走近微软开源开源跨平台技术
上周收到本书作者李争送的一本12月份的新书<微软开源跨平台移动开发实践--利用ASP.NET Core 1.0 .Apache Cordova.Xamarin和Azure快速构建移动应用解决方案 ...
- JavaScript设计模式与开发实践系列之单例模式
本系列为<JavaScript设计模式与开发实践>(作者:曾探)学习总结,如想深入了解,请支持作者原版 单例模式 实现单例模式 单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的 ...
- 基于 React Native 的 58 同城 App 开发实践
作者简介: 彭飞,58 同城 iOS 客户端架构师.专注于新技术的研发,主要负责 App 端组件化架构以及性能优化,并已推广 React Native 在 58 同城 App 中业务场景的应用.在 M ...
最新文章
- 1054 The Dominant Color
- input 强大的 input 标签
- 【网络爬虫】BeautfulSoup下载美图(真の能看懂~!)
- 计算机约束措施是参考,【计算机应用论文】高校计算机机房管理问题与改进策略(共4460字)...
- python安全攻防---爬虫基础---BeautifulSoup解析
- configure: error: You need a C++ compiler for C++ support.
- 与number_format函数有关的一个bug?
- BeanUtils对象之间的复制
- CCNP的实验设备注意事项
- 正面管教之PHP_主题体验活动之亲密关系
- 时间序列之向量自回归检验VAR(自相关性)(2)
- 织梦采集插件,翻译,采集,伪原创插件
- WMI遍历注册表(VBS编程)
- java爬取百度图片
- PADS VX2.8 正负片的概念以及设置方法
- 创业型公司遇管理之殇:IPO泡汤高管作鸟兽散
- SpringBoot Mongo 动态分表 动态修改表名
- macOS开发中用TagLib获取、修改音频文件信息
- android十大开源项目
- 图说不为人知的IT传奇故事-3-硅谷DNA创造者HP
热门文章
- 开源基础软件大时代,与国产深度学习框架一起乘风破浪
- 小白的python学习实录 基础篇(八)面向对象
- 播放器html模板,腾讯HTML播放器模板
- arm-linux-gcc踩坑1
- Flutter Text文本删除线、下划线设置
- 如何在word中同一位置处插入多篇连续文献
- 反思: Google 为何把 SurfaceView 设计的这么难用?
- python修改pdf文件(去掉文件中部分内容)
- 前端工程师未来发展方向
- 湘乡江南计算机学校舒俊梅,东山学校建校120周年校庆捐款捐物情况公布-湘乡东山学校.DOC...