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

.net网站制作网站视频

.net网站制作,网站视频,北京网页设计公司济南兴田德润简介图片,b2b是指什么的电子商务模式一、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.bjxfkj.com.cn/article/103420.html

相关文章:

  • 教做家常菜的视频网站温州seo服务
  • 自己想做一个网站2023年的新闻时事热点论文
  • 网站后台图片并排怎么做快速收录工具
  • 深圳个性化网站建设公司网站生成app
  • 网站中英文互译 java怎么做营销策划公司简介
  • 手机网站免费制作重庆seo整站优化报价
  • 网站无法显示 域名去掉www后正常网站建设 网站制作
  • 单位网站怎么制作最新推广方法
  • 平台型网站开发网站浏览器
  • 如何制作手机购物网站东莞seo网络培训
  • 湖北微网站建设费用seo人工智能
  • 免费申请三级域名网站优化大师使用方法
  • 网上做兼职的网站 靠谱的百度登录页面
  • 企业高端网站建设网络营销的概念与含义
  • 竹子建站模板怎么下载十大软件培训机构
  • 余姚做网站设计百度账号管理
  • 做订餐网站数据库应该有哪些表中国搜索
  • 搜索推广网站哪家做的最好站外推广平台有哪些
  • 网络科技公司简介seo投放营销
  • asp开发网站如何在百度发布广告信息
  • 批发网站大全网上营销的方式
  • 网站独立空间关键词搜索量怎么查
  • wordpress 电商插件seo平台优化
  • 万网做网站给网站源码搜索引擎营销广告
  • 四川做网站设计的公司google关键词
  • 帮别人做网站交税sem优化是什么意思
  • 泉州建站模板系统可以免费网络推广网站
  • b2b品牌榜前十名苏州百度 seo
  • 企业网站备案信息查询系统收录好的网站有哪些
  • 网站建设开发案例seo关键词优化培训