这是挑战简书日更第一天,我们直接开始!
第一步:创建项目
django-admin startproject auto_test_platform
第二步:创建模型
先创建两个模型,一个是用户管理,一个是项目管理
# 用户管理
python manage.py startapp my_user
# 项目管理,区分列表和详情,用一个文件夹包裹着
python ..\manage.py startapp project_list
python ..\manage.py startapp project_detail
项目结构
第三步:修改setting配置
# 在setting文件下做如下修改
import datetime
import sys
import os
# 把子项目的上层级目录引入
sys.path.insert(0, os.path.join(BASE_DIR, 'project'))
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 各种组件
'corsheaders',
'rest_framework',
'django_filters',
'drf_yasg',
'rest_framework_swagger',
# 子项目-用户管理
'my_user',
# 子项目-项目管理
'project.project_list',
'project.project_detail',
]
# swagger接口文档配置
SWAGGER_SETTINGS = {
# 这里可以用获取到的token来登录
'SECURITY_DEFINITIONS': {
'api_key': {
'type': 'apiKey',
'in': 'header',
'name': 'Authorization'
},
"basic": {
'type': 'basic'
}
},
'USE_SESSION_AUTH': True,
'JSON_EDITOR': True,
'SUPPORTED_SUBMIT_METHODS': [
'get',
'post',
'put',
'delete',
'patch'
],
'DEFAULT_INFO': 'test0905.urls.swagger_info',
}
# 设置允许的headers。以下是默认值
CORS_ALLOW_HEADERS = [
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
]
CORS_ORIGIN_ALLOW_ALL = True
# 允许携带credentials,即cookies
CORS_ALLOW_CREDENTIALS = True
# 跨域设置:设置允许的methods
CORS_ALLOW_METHODS = (
'GET',
'POST',
'PUT',
'PATCH',
'DELETE',
'OPTIONS'
)
# 配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test_auto',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
# 修改时区
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
第四步:在三个子项目下新增子路由文件:urls.py, 并进行如下配置
# 主路由urls
from django.contrib import admin
from django.urls import path, include
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from rest_framework import permissions
from rest_framework.documentation import include_docs_urls
schema_view = get_schema_view(
openapi.Info(
title="API接口文档平台", # 必传
default_version='v1', # 必传
description="这是一个接口文档",
terms_of_service="",
contact=openapi.Contact(email=""),
license=openapi.License(name=""),
),
public=True,
permission_classes=(permissions.AllowAny,),
authentication_classes=(),
)
urlpatterns = [
path('admin/', admin.site.urls),
# 接口文档:swagger
path('docs/', include_docs_urls(title='测试平台接口文档', description='xxx描述')),
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
# 映射子项目路由
path('user/', include('my_user.urls')),
path('project/', include('project.project_list.urls')),
path('project/', include('project.project_detail.urls')),
]
# 三个子路由
from django.urls import path, include
urlpatterns = [
]
第五步:启动项目
python manage.py runserver
浏览器访问地址:http://127.0.0.1:8000/swagger/
至此,项目大体框架基本完成,下期开始写models层和view层
网友评论