random password

This commit is contained in:
caoqianming 2020-09-25 17:27:46 +08:00
parent 722197f22e
commit 701bc201d6
2 changed files with 20 additions and 14 deletions

View File

@ -94,9 +94,6 @@
<el-table-column label="限制范围"> <el-table-column label="限制范围">
<template slot-scope="scope">{{ scope.row.xzfw }}</template> <template slot-scope="scope">{{ scope.row.xzfw }}</template>
</el-table-column> </el-table-column>
<el-table-column label="限制范围">
<template slot-scope="scope">{{ scope.row.xzfw }}</template>
</el-table-column>
<el-table-column label="创建日期"> <el-table-column label="创建日期">
<template slot-scope="scope">{{ scope.row.create_time.substring(0,10) }}</template> <template slot-scope="scope">{{ scope.row.create_time.substring(0,10) }}</template>
</el-table-column> </el-table-column>

View File

@ -6,7 +6,8 @@ from django.core.cache import cache
from django.http import request from django.http import request
from django_filters.rest_framework import DjangoFilterBackend from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import status from rest_framework import status
from rest_framework.decorators import action, authentication_classes, permission_classes from rest_framework.decorators import (action, authentication_classes,
permission_classes)
from rest_framework.filters import OrderingFilter, SearchFilter from rest_framework.filters import OrderingFilter, SearchFilter
from rest_framework.mixins import (CreateModelMixin, DestroyModelMixin, from rest_framework.mixins import (CreateModelMixin, DestroyModelMixin,
ListModelMixin, RetrieveModelMixin, ListModelMixin, RetrieveModelMixin,
@ -17,19 +18,18 @@ from rest_framework.response import Response
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.viewsets import GenericViewSet, ModelViewSet from rest_framework.viewsets import GenericViewSet, ModelViewSet
from rest_framework_simplejwt.tokens import RefreshToken from rest_framework_simplejwt.tokens import RefreshToken
from utils.queryset import get_child_queryset2 from utils.queryset import get_child_queryset2
from .filters import UserFilter from .filters import UserFilter
from .models import (Dict, DictType, Organization, Permission, Position, Role, from .models import (Dict, DictType, File, Message, Organization, Permission,
User, File, Message) Position, Role, User)
from .permission import RbacPermission, get_permission_list from .permission import RbacPermission, get_permission_list
from .permission_data import RbacFilterSet from .permission_data import RbacFilterSet
from .serializers import (DictSerializer, DictTypeSerializer, from .serializers import (DictSerializer, DictTypeSerializer, FileSerializer,
OrganizationSerializer, PermissionSerializer, OrganizationSerializer, PermissionSerializer,
PositionSerializer, RoleSerializer, PositionSerializer, RoleSerializer,
UserCreateSerializer, UserListSerializer, UserCreateSerializer, UserListSerializer,
UserModifySerializer, FileSerializer) UserModifySerializer)
logger = logging.getLogger('log') logger = logging.getLogger('log')
# logger.info('请求成功! response_code:{}response_headers:{}response_body:{}'.format(response_code, response_headers, response_body[:251])) # logger.info('请求成功! response_code:{}response_headers:{}response_body:{}'.format(response_code, response_headers, response_body[:251]))
@ -42,14 +42,16 @@ class LogoutView(APIView):
def get(self, request, *args, **kwargs): # 可将token加入黑名单 def get(self, request, *args, **kwargs): # 可将token加入黑名单
return Response(status=status.HTTP_200_OK) return Response(status=status.HTTP_200_OK)
import random
import smtplib import smtplib
import string
from email.header import Header
from email.mime.text import MIMEText from email.mime.text import MIMEText
from email.utils import formataddr from email.utils import formataddr
from email.header import Header
import random
from rest_framework_simplejwt.tokens import RefreshToken from rest_framework_simplejwt.tokens import RefreshToken
def get_tokens_for_user(user): def get_tokens_for_user(user):
refresh = RefreshToken.for_user(user) refresh = RefreshToken.for_user(user)
return { return {
@ -57,6 +59,8 @@ def get_tokens_for_user(user):
'access': str(refresh.access_token), 'access': str(refresh.access_token),
} }
import datetime import datetime
class Login2View(APIView): class Login2View(APIView):
authentication_classes = [] authentication_classes = []
permission_classes = [] permission_classes = []
@ -227,13 +231,14 @@ class UserViewSet(ModelViewSet):
return UserListSerializer return UserListSerializer
return UserModifySerializer return UserModifySerializer
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
# 创建用户默认添加密码 # 创建用户默认添加密码
password = request.data['password'] if 'password' in request.data else None password = request.data['password'] if 'password' in request.data else None
if password: if password:
password = make_password(password) password = make_password(password)
else: else:
password = make_password('0000') password = make_password(''.join(random.sample(string.ascii_letters + string.digits, 8)))
serializer = self.get_serializer(data=request.data) serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
serializer.save(password=password) serializer.save(password=password)
@ -278,9 +283,13 @@ class UserViewSet(ModelViewSet):
} }
return Response(data) return Response(data)
from rest_framework.parsers import MultiPartParser, JSONParser, FileUploadParser
from .mixins import CreateModelAMixin
from django.conf import settings from django.conf import settings
from rest_framework.parsers import (FileUploadParser, JSONParser,
MultiPartParser)
from .mixins import CreateModelAMixin
class FileViewSet(ModelViewSet): class FileViewSet(ModelViewSet):
""" """
文件增删改查 文件增删改查