Django API view 登录认证
文件分类

url
from django.contrib import admin
from django.urls import path, re_path
from django.urls import include urlpatterns = [
re_path('^api/(?P<version>[v1|v2]\w+)/', include('app01.urls')),
]
from django.urls import path, re_path
from django.urls import include
from app01.views import account, coursehost, newspapers urlpatterns = [
re_path('login/$', account.LoginView.as_view()),
]
view
"""
* coding: utf-8 CreateTime:2019/12/17
Version: v1
DocName: account.py
Edit: Riven
Effect: Control the user login
SourceStorageLocation: RivenShop / app01 / views / account.py
Modify and add function record:
ModifyTime:
1.
2.
Add function Time :
1.
2. """ from app01.models import *
from utils.response import * import uuid
from rest_framework.views import APIView
from rest_framework.response import Response class LoginView(APIView):
"""
Interface for user authentication
""" def post(self, request, *args, **kwargs):
"""
Authentification of user
:param request: request correlation data
:param args: URL transmit args
:param kwargs: URL transmit kwargs
""" # acquire status object
ret = TokenResponse()
try:
user = request.data.get('user')
pwd = request.data.get('pwd')
user = Account.objects.filter(username=user, password=pwd).first()
if not user:
ret.code = 1001
ret.error = '用户名密码错误'
else:
uid = str(uuid.uuid4())
UserAuthToken.objects.update_or_create(user=user, defaults={'token': uid})
ret.token = uid except Exception as e:
ret.code = 1003 # ret.dict == return class init attr of dict
return Response(ret.dict)
自定义状态码类:
"""
* coding: utf-8 CreateTime:2019/12/17
Version: v1
DocName: response.py
Edit: Riven Effect: create status code return view SourceStorageLocation: RivenShop / utils / response.py Modify and add function record:
ModifyTime:
1.
2.
Add function Time :
1.
2. """ class BaseResponse(object): def __init__(self):
self.code = 1000
self.data = None
self.error = None @property
def dict(self):
return self.__dict__ class TokenResponse(BaseResponse):
def __init__(self):
super(BaseResponse).__init__()
self.code = 1000
self.token = None
Django API view 登录认证的更多相关文章
- Django之auth登录认证
前言:我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Django作为一个完美主义者的 ...
- django自带登录认证与登录自动跳转
# 导入django自带模块 from django.contrib.auth import authenticate, login, logout # 使用authenticate进行认证,使用lo ...
- django rest_framework 实现用户登录认证
django rest_framework 实现用户登录认证 1.安装 pip install djangorestframework 2.创建项目及应用 创建过程略 目录结构如图 3.设置setti ...
- Django项目:CMDB(服务器硬件资产自动采集系统)--03--03CMDB信息安全API接口交互认证
#settings.py """ Django settings for AutoCmdb project. Generated by 'django-admin sta ...
- Django+JWT实现Token认证
对外提供API不用django rest framework(DRF)就是旁门左道吗? 基于Token的鉴权机制越来越多的用在了项目中,尤其是对于纯后端只对外提供API没有web页面的项目,例如我们通 ...
- Django Rest framework 之 认证
django rest framework 官网 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest fra ...
- [原创]django+ldap实现统一认证部分二(python-ldap实践)
前言 接上篇文章 [原创]django+ldap实现统一认证部分一(django-auth-ldap实践) 继续实现我们的统一认证 python-ldap 我在sso项目的backend/lib/co ...
- Django 中的用户认证
Django 自带一个用户认证系统,这个系统处理用户帐户.组.权限和基于 cookie 的 会话.本文说明这个系统是如何工作的. 概览 认证系统由以下部分组成: 用户 权限:控制用户进否可以执行某项任 ...
- Springboot-shiro-redis实现登录认证和权限管理
Springboot-shiro-redis实现登录认证和权限管理 在学习之前: 首先进行一下Apache Shiro和Shiro比较: Apache Shiro是一个功能强大.灵活的,开源的安全框架 ...
随机推荐
- 资源对象的池化, java极简实现,close资源时,自动回收
https://www.cnblogs.com/piepie/p/10498953.html 在java程序中对于资源,例如数据库连接,这类不能并行共享的资源对象,一般采用资源池的方式进行管理. 资源 ...
- Gin上传文件到MongoDB gridfs
目录 上传图片 下载图片 上传图片 func imagePost(c *gin.Context) { image, err := c.FormFile("file") if err ...
- maven系列:archetype项目模板_create-from-project
主要介绍create-from-project插件在命令行下的使用. [第一步:生成模板项目] 新建一个maven项目,比如叫 :groupId=com.abc.demo,artifactId=com ...
- cocos creator图片渲染问题!
问题:游戏项目需要添加一个开场剧情(); 第一时间使用了cc.component.scheduleOnce (), 里面的回调函数为 cc.loader.loadRes(). 进入游戏时,渲染主场景后 ...
- redis三种集群策略
主从复制 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库 从数据库一般都是只读的,并且接收主数据库同步过来的数据 一个master可以拥有多个slave,但是一个slav ...
- 计数数据存入Mysql
引用dll MySql.Data.dll 建一个数据连接静态类 public static class mysql{public static string constr = "databa ...
- (转)消息队列 Kafka 的基本知识及 .NET Core 客户端
原文地址:https://www.cnblogs.com/savorboard/p/dotnetcore-kafka.html 前言 最新项目中要用到消息队列来做消息的传输,之所以选着 Kafka 是 ...
- 【开发笔记】- 在Windows环境下后台启动redis
1. 进入 DOS窗口 2. 在进入Redis的安装目录 3. 输入:redis-server --service-install redis.windows.conf --loglevel verb ...
- 使用vue-cli搭建vue项目问题解决方案
工欲善其事必先利其器,安装所需环境 node和npm的安装 首先需要安装node环境,直接到官网下载安装包 https://nodejs.org/zh-cn/ 安装node默认安装npm, 不需要重复 ...
- ORACLE SQL 笔记
根据数据权限查询 SELECT * FROM ( SELECT ROWNUM AS ROWNO, AA.* FROM ( SELECT DISTINCT A.OBJECTID InstanceID , ...