当前位置: 首页 > news >正文

apache搭建多个网站自己做网站

apache搭建多个网站,自己做网站,做饲料机的川工网站,高密哪里有做网站的一、API接口文档平台 使用API接口文档不经可以很好的的维护接口数据,还给测试人员的接口测试工作带来了便利; 我们可以在全局配置文件中添加路由路径生成接口文档 1、使用docs接口文档维护接口 1.1在全局配置文件里指定用于支持coreapi的Schema # 指…

一、API接口文档平台

使用API接口文档不经可以很好的的维护接口数据,还给测试人员的接口测试工作带来了便利;

我们可以在全局配置文件中添加路由路径生成接口文档

1、使用docs接口文档维护接口

1.1在全局配置文件里指定用于支持coreapi的Schema

    # 指定用于支持coreapi的Schema'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',

1.2在全局路由表中添加路径

from rest_framework.documentation import include_docs_urls
urlpatterns = [path('docs/', include_docs_urls(title='接口文档', description='非常友好的接口文档')),]

  页面效果:

 2、使用swaager接口文档维护接口

2.1 一定要先在配置表中注册drf_yasg,不然页面会报错

INSTALLED_APPS = ['drf_yasg',]

 2.2 在全局路由表中添加路径

from rest_framework.documentation import include_docs_urls
schema_view = get_schema_view(openapi.Info(title="超人 API接口文档平台",  # 必传default_version='v1',  # 必传description="这是一个美轮美奂的接口文档",terms_of_service="http://api.keyou.site",contact=openapi.Contact(email="superman@qq.com"),license=openapi.License(name="BSD License"),),public=True,# permission_classes=(permissions.AllowAny,),   # 权限类
)
urlpatterns = [path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),]

  页面效果:

 2.3 我们还可以使用swaager文档转化为json或者yaml格式

from rest_framework.documentation import include_docs_urls
schema_view = get_schema_view(openapi.Info(title="超人 API接口文档平台",  # 必传default_version='v1',  # 必传description="这是一个美轮美奂的接口文档",terms_of_service="http://api.keyou.site",contact=openapi.Contact(email="superman@qq.com"),license=openapi.License(name="BSD License"),),public=True,# permission_classes=(permissions.AllowAny,),   # 权限类
)
urlpatterns = [re_path(r'^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),]

  页面效果:

 3、使用redoc接口文档维护接口

3.1 一定要先在配置表中注册drf_yasg,不然页面会报错

INSTALLED_APPS = ['drf_yasg',]

 3.2 在全局路由表中添加路径

from drf_yasg.views import get_schema_view
from drf_yasg import openapischema_view = get_schema_view(openapi.Info(title="超哥 API接口文档平台",  # 必传default_version='v1',  # 必传description="这是一个美轮美奂的接口文档",terms_of_service="http://api.keyou.site",contact=openapi.Contact(email="gaochao100@qq.com"),license=openapi.License(name="BSD License"),),public=True,# permission_classes=(permissions.AllowAny,),   # 权限类
)
urlpatterns = [path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),]

 页面效果:

 二、日志器

在全局配置表中添加日志器

# LOGGING指定日志器的相关配置
LOGGING = {# 指定日志版本'version': 1,# 指定是否禁用其他已存在的日志器'disable_existing_loggers': False,# 指定日志的输出格式'formatters': {# 指定普通的日志输出格式'simple': {'format': '%(asctime)s - [%(levelname)s] - [msg]%(message)s'},# 指定更详细的日志输出格式'verbose': {'format': '%(asctime)s - [%(levelname)s] - %(name)s - [msg]%(message)s - [%(filename)s:%(lineno)d ]'},},# 指定日志的过滤器'filters': {'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue',},},# 定义日志的输出渠道'handlers': {# 指定控制台日志输出渠道'console': {'level': 'DEBUG','filters': ['require_debug_true'],'class': 'logging.StreamHandler','formatter': 'simple'},# 指定日志输出的日志配置'file': {'level': 'INFO','class': 'logging.handlers.RotatingFileHandler','filename': os.path.join(BASE_DIR, "logs/mytest.log"),  # 日志文件的位置# 每一个日志文件的最大字节数'maxBytes': 100 * 1024 * 1024,# 指定日志文件总数'backupCount': 10,'formatter': 'verbose'},},# 指定日志器'loggers': {'mytest': {  # 定义了一个名为mytest的日志器'handlers': ['console', 'file'],'propagate': True,'level': 'DEBUG',  # 日志器接收的最低日志级别},}
}

使用日志器

# 导入logging模块
import logging
# 制定日志器对象,getLogger需要传递在settings-->LOGGING中,设置的日志器名称,必须要一致
my_logging=logging.getLogger('mytest')
my_logging.info('prijects的视图集类')

保存的日志文件信息为:

 三、认证

全局认证类

drf的settings中有全局认证类

如果不指定授权类,则请求接口不受影响,仍然可以正常访问接口获取到返回数据;

如果指定授权类,则未登录时去请求接口,会返回未认证信息:

我们来创建一个用户

python manage.py createsuperuser

 设置用户名、邮箱、密码

 在database中的auth_user表里可以看到创建用户信息

 

 当调用接口需要认证才能获取权限,但是用户没有认证时,需要我们进行登录

登录成功之后,就会进入之前访问的页面

 局部认证类

有些接口并不是需要登录后才可以访问的,比如登录注册接口是需要一直暴露给用户使用的,这时候就需要给需要认证类的接口视图类定义局部认证类

优先级:局部认证类>全局认证类

from rest_framework.authentication import SessionAuthentication,BasicAuthentication
# 定义局部认证类
authentication_classes = [SessionAuthentication,BasicAuthentication]

 

四、授权

全局授权类

drf的settings中指定全局授权类

指定权限类(认证通过之后,会授予的权限)

默认的权限类为AllowAny,允许所有用户访问接口

指定只有登录之后,才具有访问接口的权限

'DEFAULT_PERMISSION_CLASSES': [# 默认的权限类为AllowAny,允许所有用户返回接口# 'rest_framework.permissions.AllowAny',# 指定只有登录之后,才具有访问接口的权限'rest_framework.permissions.IsAuthenticated',],

局部授权类

有些接口并不是需要登录后才可以访问的,比如登录注册接口是需要一直暴露给用户使用的,这时候就需要给需要授权类的接口视图类定义局部授权类(需要登录认证后才授权)

优先级:局部授权类>全局授权类

from rest_framework.permissions import IsAuthenticated
# 定义局部授权类
permission_classes = [IsAuthenticated]

http://www.tj-hxxt.cn/news/25388.html

相关文章:

  • html5制作网站百度下载软件
  • 电子商务网站建设解决方案武汉seo关键字优化
  • 武汉做网站互云百度点击工具
  • 搜书网站 怎么做新闻摘抄大全
  • 广东营销型网站建设多少钱成人企业管理培训课程
  • 如何做网站联盟免费发布推广信息的平台
  • 建设第三方公众号平台网站教程沈阳seo建站
  • 商务网站建设线下实体店如何推广引流
  • 上海建设工程安全监理网站电商网站有哪些
  • 专门找人做软件的网站百度指数数据下载
  • 朝鲜族做的电影网站最新军事新闻今日最新消息
  • 朋友圈网页怎么制作何鹏seo
  • 免费拿项目做的网站对网站进行seo优化
  • 偃师企业网站北京seo工程师
  • 苏州市智信建设职业培训学校网站网址安全检测中心
  • 文山专业网站建设联系电话标题优化
  • 台州网站制作公司淘宝关键词优化推广排名
  • wordpress悬浮播放器高级seo培训
  • 网站开发书百度网盟推广怎么做
  • 网站开发助理是干啥的seo优化公司信
  • 做cad室内平面图的家具素材网站关键词排名客服
  • wordpress复制page线上seo关键词优化软件工具
  • 公司网站建设成本沈阳网站关键词优化多少钱
  • 做网站的用多少钱友链交易平台
  • 张家港网站建设做网站百度关键词优化点击 教程
  • 如何给网站挂黑链青岛网络seo公司
  • 唐山网站建设.comdw网页设计模板网站
  • 网站加载速度慢的原因模板建站优点
  • 静态网站建设适合推广的app有哪些
  • 做网站哪个语言好十大免费excel网站