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

重庆住房城乡建设部网站网站建设中的安全问题

重庆住房城乡建设部网站,网站建设中的安全问题,横峰县城乡建设网站,微信贷款怎么申请开通一、FastAPI框架使用枚举来型来限定参数 FastAPI框架验证时,有时需要通过枚举的方式来限定参数只能为某几个值中的一个,这时就可以使用FastAPI框架的枚举类型Enum了。publish:December 23, 2020 -Wednesday 代码如下: #引入Enum模块 from fa…

一、FastAPI框架使用枚举来型来限定参数

    FastAPI框架验证时,有时需要通过枚举的方式来限定参数只能为某几个值中的一个,这时就可以使用FastAPI框架的枚举类型Enum了。publish:December 23, 2020 -Wednesday 代码如下:

#引入Enum模块
from fastapi import FastAPI
from enum import Enumclass SexModel(str, Enum):man = "man"woman = "woman"app = FastAPI()@app.get("/model/{sexmodel}")
# sexmodel: SexModel限定参数必须是sexmodel: SexModel枚举中的
async def get_model(sexmodel: SexModel): #也可以不用下面的判断方法,添加了上面的模型会自动限定#枚举判断方法1,if model_name == SexModel.man:  #...#枚举判断方法2if model_name.value == "woman":  #...#默认判断方法return {"model_name": model_name}

PS一下关于python中的相等判断,Python中对象包含三个基本要素:id(身份标识)、type(数据类型)、value(值),is和==都可以用于对象比较,但依据不同:
==:是比较操作符,比较的依据是value(值);只要值相等则相等。
is:同一性运算符,比较的依据是id(内存地址),即两个对象是否是同一个对象;

二、FastApi框架隐藏没多大意义的Schemes模型部分内容

    之前有篇文章提到python框架fastApi怎么关闭接口文档、隐藏部分接口以及关闭Schemes,但并没有实现关闭schemes的功能。https://linge.blog.csdn.net/article/details/142592679 Schemes这个部分看着不爽啊,而且烦的是它默认打开着的,占了页面很大的一个高度,今天看着不爽就想了想办法。

    之前的想法是从fastAPI框架层去关闭它的功能,但找了找框架文档,fastAPI框架也许认为这个东西很有意义吧,根本没有提供阉割它的入口,今天换了个想法,不去干掉它就去把它隐藏掉呗,在页面查看了一下源码想着应该可以通过修改JS或者css将其隐藏。

    不过修改CSS/JS文件的话就不能引用框架默认带的云上的静态文件,可以通过修改框架docs.py来调整其调用本地的静态文件,正好之前我因为外网请求被屏蔽解决了这个问题,方法详见:https://linge.blog.csdn.net/article/details/142558667 于是要实现隐藏干掉fastApi框架的Schemes部分就可以在本地调试了。

    修改静态资源: swagger-ui.css 在最后添加如下内容,刷新页面即可实现隐藏Schemes部分。

.swagger-ui section.models .no-margin{display:none;}.swagger-ui section.models h4{display:none;}

#. 评论转载:

Level : 1.    User:us20201223131715-923    Time:2021-04-02 10:11:33
似乎这样 .swagger-ui section.models{display:none;} 就可以了,不会留下那个边框线。

三、常见的WSGI服务器Gunicorn、uWSGI了解

    常见的WSGI服务器有:

    1.Gunicorn:

        Gunicorn是使用Python实现的WSGI服务器, 提供http服务, 并在worker工作方式上提供了多种选择, 其默认的work_class是sync,即同步阻塞的网络模型,性能不佳。其它的工作方式还有
eventlet、gevent(利用python协程实现)、tornado(利用Tornado框架实现)、gthread(采用线程工作模式)、gaiohttp(利用aiohttp库实现异步I/O,支持web socket)。在多进程模式中除了使用多CPU的同时, 还可以使用协程来提供并发支撑。和nginx类似,Gunicorn也是一个pre-fork worker的模型,从Ruby的独角兽(Unicorn )项目移植。

    2.uWSGI:

        uWSGI是使用C写的, 在worker进程处理循环中解析http请求后, 使用python的C接口生成environ对象, 再把这个对象作为参数传到WSGI application函数中调用,整个过程中除了python处理调用application是使用的python,其它都是C程序处理, 性能上会有更好的表现。注意全部小写的uwsgi是一种通信协议,不过只是uWSGI服务器自有的协议,uWSGI实现了uwsgi协议, 主要是考虑在uWSGI服务器前有使用Nginx作为负载均衡的情况, 避免请求在Nginx和在Nginx转发到uWSGI时重复解析, uWSGI为了追求性能, 设计了uwsgi协议, 在Nginx解析完以后直接把解析好的结果通过uwsgi协议转发到uWSGI服务器, uWSGI拿到请求按格式生成environ对象, 而不用重复解析请求。

    3.Uvicorn

        Uvicorn是一个超快速的ASGI服务器,使用uvloop和httptools实现,uvicorn是一个基于asyncio开发的一个轻量级高效的web服务器框架。Uvicorn实现了一个基于ASGI(异步服务器网关接口)的最小的应用程序接口。目前支持http,websockets,Pub/Sub 广播,并且可以扩展到其他协议和消息类型。Uvicorn仅支持python 3.5.3以上版本。

    4.bjoern

        bjoern是个快速、超轻量级的WSGI服务器软件,为CPython编写。使用C语言开发,基于Libev事件库和http-parser开发,这是一个单线程的服务,占用内存非常低。

    上面列的也不全,目前运用最多的还是Gunicorn和uWSGI,Uvicorn可能因为方便在开发模式下用得较多。另外有些网站上把Sanic也列成了一个服务器,Sanic是一个类似于Flask的Python 3.5+ 快速Web服务器和开发框架,接触过一段时间,觉得挺不错的。比FastApi的设计感觉更符合用户的使用体验。不过用作服务器还是没进行过多了解。

http://www.yayakq.cn/news/701098/

相关文章:

  • 品牌外贸网站建设陕西省住房和城乡建设厅综合服务网站
  • 关于 建设 旅游网站 建议手机网站模板代码
  • 企业网站的规划与建设ppt建设工程信息哪个网站有详细信息
  • 专业h5网站建设教程可视化平台开发
  • 专做外贸库存的网站合肥个人做网站
  • 求个免费网站后台登陆wordpress
  • 网站做的漂亮的企业php公司网站
  • 银川百度做网站多少钱建站网络公司
  • 物流相关网站视频社区app源码
  • 广西网站建设服务好做网站都需要考虑哪些
  • 漳州网站建设到博大赞手机商城软件下载
  • 泉州建站服务wordpress主题 外贸
  • 免费vi模板网站discuz二次开发
  • 豌豆荚app下载seo一般包括哪些内容
  • 洋洋点建站小程序图片制作
  • 网站设置屏蔽广告三亚
  • 曲阳网站建设在哪网站死链检查
  • 网站开发实训室企业网站开发技术期末试题
  • 建设网站用什么网络好建设工程168网手机版下载
  • 诸暨网站制作洛阳霞光网络建站
  • 潍坊网站模板在哪wordpress首页模板修改那个文件名
  • 茶山镇仿做网站网站5建设需要学什么条件
  • 河北省住房与建设厅网站首页做ppt找图片的网站
  • 哪个网站可以做照片分享长沙sem推广
  • 东莞网站seo公司wordpress 配置ckplayer
  • 制作一个网站需要多久外贸企业网络推广
  • mvc5 网站开发之美 pdf汽车之家官网首页
  • 什么网站可以做装修效果图的手机端设计
  • 视频网站怎么建设no.7 wordpress 破解
  • 南山老品牌网站建设wordpress getfooter