第一天:django+vue项目立项

这是挑战简书日更第一天,我们直接开始!

第一步:创建项目
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/

swagger接口文档

至此,项目大体框架基本完成,下期开始写models层和view层

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值