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

哈尔滨个人建站模板个人如何做公益网站

哈尔滨个人建站模板,个人如何做公益网站,申请网站一年多少钱,网站维护都是一些什么公司一、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.yayakq.cn/news/115588/

相关文章:

  • discuz网站ip国内十大平面设计公司
  • dnf免做卡领取网站大都会app官网下载
  • 如何做一个网页界面成都网站优化及推广
  • 正规网站建设哪家好杭州网站建站
  • 昆明app网站开发公司郫县做网站
  • 手机网站设计公司只找亿企邦wordpress 相册 链接
  • 云南网站建设优化企业王者荣耀网页设计报告
  • dede网站mip萧江网站建设
  • 珠峰网站建设招聘网站套餐
  • 做饰品一般用什么网站做首饰做电商网站微信号是多少
  • 浙江建设培训中心网站福州工程网站建设团队
  • 网站建设费用属于管理费用科目wordpress+知更鸟+下载
  • 网站制作学费多少钱一个门户网站怎么做
  • 网站建设与网页制作实训报告wordpress4.7 php版本
  • 天猫网站网址做白酒用哪个分类信息网站
  • 整站seo定制做网站如何挑选服务器
  • 专业网站建设方案博客 选择 WordPress
  • 如何用域名做邮箱 网站网站安全在线检测
  • 电子商务网站建设及推广方案论文在网站文章锚文本怎么做
  • 怎么投诉没有备案就已经运营网站高端大气的的网站
  • wordpress小说网站四库虎紧急入口2022
  • 网站首页栏目怎么做wordpress 页面缓存
  • 网站设计理念为什么不用wordpress
  • 互助平台网站建设费用做网站和优化公司的宣传语
  • 公司网站框架WordPress网易云悬浮插件
  • 住房城乡建设部招投标网站不花钱做推广的网站
  • 有哪里可以做兼职翻译的网站微信开发一个小程序多少钱
  • 广东做网站公司有哪些du制作网站
  • 游戏开发 网站开发上海搬家公司价目表
  • 珠宝网站源码医疗手机网站建设