简介

官方文档链接: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快速实现前后端分离登录注册相关推荐

  1. 用uwsgi和nginx 部署 django和vue打造的前后端分离项目

    用uwsgi和nginx 部署 django和vue打造的前后端分离项目 前言 由于现在没有彻底掌握nginx的使用,部署起来有点磕磕绊绊,为了防止以后再次需要部署的时候无法快速找到适合的资料,以此文 ...

  2. Springboot + Spring Security 实现前后端分离登录认证及权限控制

    Spring Security简介 Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展 ...

  3. django集成vue,实现前后端分离开发

    目前,前后端分离的开发方式越发常见,已成为主要开发方式,那么django作为一个python快速开发中小型web端最常见的框架,django虽然也有自己前端模板,但是毕竟不是很好,而且写在一起,也不符 ...

  4. Django + react + 阿里云ecs 前后端分离部署上线

    背景 因为之前一直在捣鼓Python,本人是前端菜鸟一枚~,一直想着做个小demo,把后端和前端给统一跑起来,正好也可以把掌握的知识梳理一遍,这样前端后端就能够打通,岂不快哉!平时上班大家都知道没时间 ...

  5. 小白快速上手前后端分离项目开发教程(springboot+vue)

    本文基于springboot+vue,实现一个前后端分离项目的实操.通俗易懂,保证一学就会.同时能帮助大家更好的理解,什么是前后端分离开发?这个开发跟之前使用jsp或者模板引擎开发有什么不同. 一.为 ...

  6. html密码验证 并跳转页面,vuejs 实现前后端分离登录验证和页面自动跳转

    使用的技术点: vue-router axios vuex element-ui qs 项目介绍: 这个项目是一个类似google相册功能的项目,目前实现的是图片特征提取,可以以图搜图,最终打造成一个 ...

  7. 【前后端分离登录流程】

    最近公司再做前后端分离得项目,我负责设计前后端分离得登录流程,由于是前后端分离,所以传统得登录信息存入session就不适用了,这个时候登录信息 页面交互信息应该怎么办呢? 我暂时想到一种 用redi ...

  8. php前后端分离登录,前后端分离下如何登录

    1 Web登录涉及到知识点 1.1 HTTP无状态性HTTP是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的.当然它知道是哪个客户端地址发过来的,但是对于 ...

  9. vue+node前后端实现登录注册功能

    使用vue cli3脚手架搭建一个vue项目 创建一个vue_cms项目,没安装脚手架全局安装即可,安装过程选择默认的即可 vue create vue_cms 安装路由,axios,完成后启动项目, ...

最新文章

  1. Silverlight4中用net.tcp双工方式进行通信
  2. Struts2的控制器(Controller)的工作流程图
  3. 我的第一本算法书(图解算法)——什么是堆
  4. 迭代开发个人总结20160627
  5. 如何入行Android开发
  6. Unity3D基础7:Transform组件
  7. 中国农历2013,2014 (zz.IS2120@BG57IV3)
  8. 收盘:用友软件跌10.02%报13.2元 换手3.26%
  9. ubuntu下交叉编译libyuv到RK3399平台(ARM64)((提高YUV图像转换效率)
  10. 小白如何打造一个基础的留言板网站(一)
  11. Google浏览器拖拽安装扩展程序报错
  12. 基础软件皇冠上的明珠,数据库创新 | 创新场景50
  13. Duckduckgo搜索引擎
  14. Go语言(Golang)超时机制
  15. win 10 设置静态ip 子网前缀长度
  16. 立竿见影的思维利器——“黄金思维圈”
  17. 树莓派摄像头检测到人物动作
  18. 记疫情无聊时对老师答题网站的一次渗透(1)
  19. Google Earth Engine(GEE)——Output of image computation is too large (29 bands for 828828 pixels = 96.
  20. 【JS里面使用var声明变量存在的三个问题】

热门文章

  1. Java for Web学习笔记(六七):Service和Repository(2)抽象分层例子
  2. 睿智的目标检测28——YoloV4当中的Mosaic数据增强方法
  3. yoloV4mosaic数据增强,同步Pascal VOC格式的XML标注信息
  4. Mysql - 带条件求和(sum)
  5. IT程序员的就业前景究竟如何?
  6. 锂电池】关于4.2V锂电池充电IC的一些记录
  7. 怎么组织计算机更新,win10更新取消组织管理提示怎么取消_win10更新提示某些设置由你的组织管理的解决步骤...
  8. 记录一次阿里云服务器被攻击事件
  9. 作者:吴力波(1974-),女,复旦大学大数据学院教授、副院长、博士生导师...
  10. android常用api大全,Android相关常用API……