功能设计与框架选型
功能设计
登录、注册、项目管理、模块管理、用例管理
同时有权限验证、接口文档、搜索、分页等功能
框架
创建应用
创建模块应用
(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 应用
INSTALLED_APPS = [
'simpleui',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'project',
'rest_framework',
'module',
'case',
'user',
]
用户应用代码设计
user\models.py
设计
还记得我们之前用python manage.py createsuperuser
创建管理员账号吗?既然能创建管理员账号,那么说明我们系统中存在user表,我们打开数据库看下
既然有user表,我们复用user表就可以。
user\serializers.py
设计
from rest_framework import serializers
from django.contrib.auth.models import User
class RegisterSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'password')
def create(self, validated_data):
user = User.objects.create_user(**validated_data)
return user
user\views.py
设计
from rest_framework import mixins
from rest_framework import viewsets
from django.contrib.auth.models import User
from .serializer import RegisterSerializer
class UserView(mixins.CreateModelMixin, viewsets.GenericViewSet):
"""
"""
queryset = User.objects.all()
serializer_class = RegisterSerializer
user\urls.py
设计
注意,这里需要新增urls.py 文件
from django.urls import path
from rest_framework_jwt.views import obtain_jwt_token
from . import views
urlpatterns = [
path('register/', views.UserView.as_view({'post': 'create'})),
path('login/', obtain_jwt_token),
]