运行

先注册一个非超级用户

登录

填写token,获取用户列表

登录一个超级用户试试

填写token,获取用户列表

超级用户成功获取用户列表
视图所有代码
import uuid
from RESTuser.auth import UserAuth
from RESTuser.constants import HTTP_ACTION_REGISTER, HTTP_ACTION_LOGIN
from RESTuser.models import User
from RESTuser.permissions import IsSuperUser
from RESTuser.serializers import UserSerializer
from django.core.cache import cache
from rest_framework import status, exceptions
from rest_framework.generics import ListCreateAPIView
from rest_framework.response import Response
from untitled.settings import SUPER_USER
class UsersAPIView(ListCreateAPIView):
serializer_class = UserSerializer
queryset = User.objects.all()
authentication_classes = (UserAuth,)
permission_classes = (IsSuperUser,)
def post(self, request, *args, **kwargs):
action = request.query_params.get('action')
if action == HTTP_ACTION_REGISTER:
return self.create(request, *args, **kwargs)
elif action == HTTP_ACTION_LOGIN:
u_name = request.data.get('u_name')
u_password = request.data.get('u_password')
try:
user = User.objects.get(u_name=u_name)
if user.u_password == u_password:
token = uuid.uuid4().hex
cache.set(token, user.id)
data = {
'msg': '登录成功',
'status': 200,
'token': token,
return Response(data)
else:
raise exceptions.AuthenticationFailed
except User.DoesNotExist:
raise exceptions.NotFound
else:
raise exceptions.ValidationError
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
data = serializer.data
u_name = data.get("u_name")
if u_name in SUPER_USER:
u_id = data.get('id')
user = User.objects.get(pk=u_id)
user.is_super = True
user.save()
data.update({'is_super': 'True'})
headers = self.get_success_headers(serializer.data)
return Response(data, status=status.HTTP_201_CREATED, headers=headers)
class UserAPIView(ListCreateAPIView):
serializer_class = UserSerializer
queryset = User.objects.all()
Django-rest-framework 031、创建一个新应用1.1、创建 User表1.2、新建序列化器1.3、运行测试1.4、超级用户1、创建一个新应用在setting里面配置这个应用1.1、创建 User表模型from django.db import modelsclass User(models.Model): # unique=True 用户名不能重复...
1、将下载的.CRX格式的插件修改成.zip(或.rar)格式的文件。
2、对该zip文件解压缩,得到一个文件夹。(打开文件夹,有一个_metadata的文件夹,去掉下划线,将文件名改为metadata。)
3、在谷歌浏览器里–更多工具–扩展程序–开启开发者选项–加载已解压的扩展程序–打开我们解压后的文件夹上传【Chrome-Sync-Helper】(如果有风险提示也忽略继续确认)
【上传成功后就会出现你的插件。】
4、就可以同步信息了
django drf 实现只有超级用户才能注册账号编写注册序列化器编写注册视图配置二级路由,一级路由和之前登录一样测试注册视图自定义权限测试自定义权限
编写注册序列化器
和之前的登录序列化器写在一个地方
from django.contrib.auth import get_user_model
User = get_user_model()
class RegisterSerializers(serializers.ModelSerializer):
'''增加用户的序列化器'''
class UserSignupSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
confirm_password = serializers.CharField(write_only=True)
code = serializers.CharField
官方文档链接:https://www.django-rest-framework.org/
Django REST框架是一个功能强大且灵活的工具包,用于构建Web API。
您可能希望使用REST框架的一些原因:
该网站可浏览API是你的开发人员一个巨大的可用性胜利。
身份验证策略包括OAuth1a和OAuth2的程序包。
支持ORM和非ORM数据源的序列化。
可自定义 - 如果您不需要更强...
安装puppeteer时因为需要下载chrom的缘故总是安装失败提示:
ERROR: Failed to download Chromium r515411! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOA
D" env variable to skip download.
{ Error: read ECONNRESET
at _errnoExcept...
Fiddler抓包配置
最近联调接口,对方使用的是APP内嵌H5页面调用的我方的接口,使用过程中各种问题,索性我查了Fiddler的用法,从外部直接抓取HTTP和HTTPS的包看一下情况。
参考链接:
参考链接: 用fiddler对IOS进行https抓包的证书安装方法.
参考链接: 抓包工具Fildder对Android手机抓包.
参考链接: 在MacOS下使用Fiddler抓包.
参考链接: Windows10系统下 配置Fiddler.
Fiddler 安装在Win7上 版本4(版本5不支
http://blog.csdn.net/qq_32786873/article/details/70173265
http://blog.csdn.net/u012593626/article/details/44540485
如何使用这些参数<br>chrome 谷歌浏览器命令行大全...