python web框架 django wsgi原理解析

yipeiwu_com5年前Python基础

前言

django wsgi python有个自带的wsgi模块 可以写自定义web框架 用wsgi在内部创建socket对象就可以了 自己只写处理函数就可以了

django只是web框架 他也不负责写socket django 依赖wsgi接口创建socket

wsgi是一套规则 是一套接口

按照wsgi规则写 以后想封装socket 在内部封装socket就可以了 我只要遵循规则 把wsgi模块一导入 我就可以使用wsgi写的socket了

遵循wsg socketi接口有哪些

这些模块已经创建好socket了

server_names = {
  'cgi': CGIServer,
  'flup': FlupFCGIServer,
  'wsgiref': WSGIRefServer,
  'waitress': WaitressServer,
  'cherrypy': CherryPyServer,
  'paste': PasteServer,
  'fapws3': FapwsServer,
  'tornado': TornadoServer,
  'gae': AppEngineServer,
  'twisted': TwistedServer,
  'diesel': DieselServer,
  'meinheld': MeinheldServer,
  'gunicorn': GunicornServer,
  'eventlet': EventletServer,
  'gevent': GeventServer,
  'geventSocketIO':GeventSocketIOServer,
  'rocket': RocketServer,
  'bjoern' : BjoernServer,
  'auto': AutoServer,
}

django 依赖wsgi模块socket django都会导入 python内部的wsgi模块

django 项目有个wsgi.py 文件

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
application = get_wsgi_application()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python 发送邮件实例代码

python 发送邮件实例 文件形式的邮件 #!/usr/bin/env python3 #coding: utf-8 import smtplib from emailmim...

Django中如何使用sass的方法步骤

作为一个运维开发,不像业务开发只专注后端业务开发即可,常常需要自己来构建前端的东西,当然系统交互体验说的过去就行,要求也没有业务系统那么高。但是还是会接触很多前端的知识,像是css、ht...

Python零基础入门学习之输入与输出

Python零基础入门学习之输入与输出

简介 在之前的编程中,我们的信息打印,数据的展示都是在控制台(命令行)直接输出的,信息都是一次性的没有办法复用和保存以便下次查看,今天我们将学习Python的输入输出,解决以上问题。 复...

Python安装Imaging报错:The _imaging C module is not installed问题解决方法

今天写Python程序上传图片需要用到PIL库,于是到http://www.pythonware.com/products/pil/#pil117下载了一个1.1.7版本的,我用的是Ce...

Python实现LRU算法的2种方法

LRU:least recently used,最近最少使用算法。它的使用场景是:在有限的空间中存储对象时,当空间满时,会按一定的原则删除原有的对象,常用的原则(算法)有LRU,FIFO...