功能设计与框架选型

功能设计

登录、注册、项目管理、模块管理、用例管理
同时有权限验证、接口文档、搜索、分页等功能

框架

django rest framework

创建应用

之前我们已经创建过项目应用,这里我们不在重复创建

创建模块应用

(env) D:\code\caseplatform>python manage.py startapp module

创建用例应用

(env) D:\code\caseplatform>python manage.py startapp case

创建用户应用

(env) D:\code\caseplatform>python manage.py startapp user

注册应用

打开**caseplatform\settings.py**,添加module和case 应用

  1. INSTALLED_APPS = [
  2. 'simpleui',
  3. 'django.contrib.admin',
  4. 'django.contrib.auth',
  5. 'django.contrib.contenttypes',
  6. 'django.contrib.sessions',
  7. 'django.contrib.messages',
  8. 'django.contrib.staticfiles',
  9. 'project',
  10. 'rest_framework',
  11. 'module',
  12. 'case',
  13. 'user',
  14. ]

用户应用代码设计

user\models.py设计

还记得我们之前用python manage.py createsuperuser创建管理员账号吗?既然能创建管理员账号,那么说明我们系统中存在user表,我们打开数据库看下
image-20220323101127164.png
既然有user表,我们复用user表就可以。

user\serializers.py设计

  1. from rest_framework import serializers
  2. from django.contrib.auth.models import User
  3. class RegisterSerializer(serializers.ModelSerializer):
  4. class Meta:
  5. model = User
  6. fields = ('id', 'username', 'password')
  7. def create(self, validated_data):
  8. user = User.objects.create_user(**validated_data)
  9. return user

user\views.py设计

  1. from rest_framework import mixins
  2. from rest_framework import viewsets
  3. from django.contrib.auth.models import User
  4. from .serializer import RegisterSerializer
  5. class UserView(mixins.CreateModelMixin, viewsets.GenericViewSet):
  6. """
  7. """
  8. queryset = User.objects.all()
  9. serializer_class = RegisterSerializer

user\urls.py 设计

注意,这里需要新增urls.py 文件
image-20220323145026300.png

  1. from django.urls import path
  2. from rest_framework_jwt.views import obtain_jwt_token
  3. from . import views
  4. urlpatterns = [
  5. path('register/', views.UserView.as_view({'post': 'create'})),
  6. path('login/', obtain_jwt_token),
  7. ]