django使用rest快速实现前后端分离登录注册
简介
官方文档链接:https://www.django-rest-framework.org/
Django REST框架是一个功能强大且灵活的工具包,用于构建Web API。
您可能希望使用REST框架的一些原因:
该网站可浏览API是你的开发人员一个巨大的可用性胜利。
身份验证策略包括OAuth1a和OAuth2的程序包。
支持ORM和非ORM数据源的序列化。
可自定义 - 如果您不需要更强大的功能,只需使用常规的基于功能的视图。
丰富的文档和良好的社区支持。
由国际知名公司使用和信任,包括Mozilla,Red Hat,Heroku和Eventbrite。
安装
pip install djangorestframework
django使用的是2.1.8版本
使用
创建模型:
class UserModel(models.Model):username = models.CharField(max_length=32, unique=True)password = models.CharField(max_length=256)def verify_password(self, password):return self.password == password
序列化:
class UserSerializer(serializers.ModelSerializer):class Meta:model = UserModelfields = 'id', 'username', 'password'
视图函数:
class UserAPI(APIView):def post(self, request):# query_params=GETaction = request.query_params.get('action')if action == 'register':return self.do_register(request)elif action == 'login':return self.do_login(request)def do_register(self, request):serializer = UserSerializer(data=request.data)if serializer.is_valid():serializer.save()return Response(serializer.data)return Response(serializer.error_messages)def do_login(self, request):username = request.data.get('username')password = request.data.get('password')try:user = UserModel.objects.get(username=username)except Exception as e:return Response({'msg': e})if not user.verify_password(password):return Response({'msg': 'password error!'})token = uuid.uuid4().hexprint(token, uuid.uuid4())cache.set(token, user.id, timeout=60 * 60)data = {'msg': 'login success!','status': status.HTTP_200_OK,'token': token,}return Response(data)
url:
app_name = 'app'urlpatterns = [path('users/', UserAPI.as_view()),
]
django使用rest快速实现前后端分离登录注册相关推荐
- 用uwsgi和nginx 部署 django和vue打造的前后端分离项目
用uwsgi和nginx 部署 django和vue打造的前后端分离项目 前言 由于现在没有彻底掌握nginx的使用,部署起来有点磕磕绊绊,为了防止以后再次需要部署的时候无法快速找到适合的资料,以此文 ...
- Springboot + Spring Security 实现前后端分离登录认证及权限控制
Spring Security简介 Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展 ...
- django集成vue,实现前后端分离开发
目前,前后端分离的开发方式越发常见,已成为主要开发方式,那么django作为一个python快速开发中小型web端最常见的框架,django虽然也有自己前端模板,但是毕竟不是很好,而且写在一起,也不符 ...
- Django + react + 阿里云ecs 前后端分离部署上线
背景 因为之前一直在捣鼓Python,本人是前端菜鸟一枚~,一直想着做个小demo,把后端和前端给统一跑起来,正好也可以把掌握的知识梳理一遍,这样前端后端就能够打通,岂不快哉!平时上班大家都知道没时间 ...
- 小白快速上手前后端分离项目开发教程(springboot+vue)
本文基于springboot+vue,实现一个前后端分离项目的实操.通俗易懂,保证一学就会.同时能帮助大家更好的理解,什么是前后端分离开发?这个开发跟之前使用jsp或者模板引擎开发有什么不同. 一.为 ...
- html密码验证 并跳转页面,vuejs 实现前后端分离登录验证和页面自动跳转
使用的技术点: vue-router axios vuex element-ui qs 项目介绍: 这个项目是一个类似google相册功能的项目,目前实现的是图片特征提取,可以以图搜图,最终打造成一个 ...
- 【前后端分离登录流程】
最近公司再做前后端分离得项目,我负责设计前后端分离得登录流程,由于是前后端分离,所以传统得登录信息存入session就不适用了,这个时候登录信息 页面交互信息应该怎么办呢? 我暂时想到一种 用redi ...
- php前后端分离登录,前后端分离下如何登录
1 Web登录涉及到知识点 1.1 HTTP无状态性HTTP是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的.当然它知道是哪个客户端地址发过来的,但是对于 ...
- vue+node前后端实现登录注册功能
使用vue cli3脚手架搭建一个vue项目 创建一个vue_cms项目,没安装脚手架全局安装即可,安装过程选择默认的即可 vue create vue_cms 安装路由,axios,完成后启动项目, ...
最新文章
- Silverlight4中用net.tcp双工方式进行通信
- Struts2的控制器(Controller)的工作流程图
- 我的第一本算法书(图解算法)——什么是堆
- 迭代开发个人总结20160627
- 如何入行Android开发
- Unity3D基础7:Transform组件
- 中国农历2013,2014 (zz.IS2120@BG57IV3)
- 收盘:用友软件跌10.02%报13.2元 换手3.26%
- ubuntu下交叉编译libyuv到RK3399平台(ARM64)((提高YUV图像转换效率)
- 小白如何打造一个基础的留言板网站(一)
- Google浏览器拖拽安装扩展程序报错
- 基础软件皇冠上的明珠,数据库创新 | 创新场景50
- Duckduckgo搜索引擎
- Go语言(Golang)超时机制
- win 10 设置静态ip 子网前缀长度
- 立竿见影的思维利器——“黄金思维圈”
- 树莓派摄像头检测到人物动作
- 记疫情无聊时对老师答题网站的一次渗透(1)
- Google Earth Engine(GEE)——Output of image computation is too large (29 bands for 828828 pixels = 96.
- 【JS里面使用var声明变量存在的三个问题】
热门文章
- Java for Web学习笔记(六七):Service和Repository(2)抽象分层例子
- 睿智的目标检测28——YoloV4当中的Mosaic数据增强方法
- yoloV4mosaic数据增强,同步Pascal VOC格式的XML标注信息
- Mysql - 带条件求和(sum)
- IT程序员的就业前景究竟如何?
- 锂电池】关于4.2V锂电池充电IC的一些记录
- 怎么组织计算机更新,win10更新取消组织管理提示怎么取消_win10更新提示某些设置由你的组织管理的解决步骤...
- 记录一次阿里云服务器被攻击事件
- 作者:吴力波(1974-),女,复旦大学大数据学院教授、副院长、博士生导师...
- android常用api大全,Android相关常用API……