一、进行接口开发
1)开发接口
接口说明给出后,我们就可以开发对应的接口了,在views.py
文件中输入如下代码:
from django.contrib.auth import authenticate
from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework.authtoken.models import Token
@api_view(['POST']) # 列表中的元素代表支持哪些请求方法
def login(request):
"""
登录接口
"""
# 验证用户帐号密码的内置方法
user = authenticate(username=request.data['username'], password=request.data['password'])
if user:
Token.objects.filter(user_id=user.id).delete() # 删除原来的token
token = Token.objects.create(user=user) # 创建新的token
return Response(data={'msg': '登录成功!', 'token': token.key}) # 返回登录信息及token
return Response(data={'msg': '用户名或错误!'}, status=status.HTTP_401_UNAUTHORIZED)
复制代码
2)指定路由url
1.在user
文件夹新增文件urls.py
,并增加如下代码:
from django.urls import path
from user.views import login
app_name = "accounts"
urlpatterns = [
path('login', login), # 代表请求接口路径
]
复制代码
3)主入口配置路由前缀
1.在QNtest
下的urls.py
文件中:
增加如下代码:
from django.contrib import admin
from django.urls import path
from django.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path('user/', include('user.urls', namespace='user')),
]
复制代码
目的是将user
app的路由注册到这里,并增加接口地址前缀user/
4)验证效果
启动项目后,通过postman (postman传参格式记得选json) 或者jmeter携带接口参数(这里以jmeter举例)进行请求 (帐号密码用你创建时输入的):
请求结果
至此我们已经完成了一个用户登录验证的接口了。
二、总结
在我们实际的应用场景中,用户登录成功后还需要去查询用户的一些信息(姓名、性别、邮箱、角色、用户名、地址等),上面代码实现的token验证和登录都是基于mysql数据库的,查询用户信息的话也是走mysql库中进行获取,每次涉及权限校验和验证的接口就都需要查一次库,这样请求量大了后会对数据库增加不少的压力,我们可以通过redis来做登录的信息验证并将用户信息存入到redis中,来提高性能。
关于如何进行redis认证可以参考教程
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】
这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享