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设计】。

相关文章

pycharm 配置远程解释器的方法

pycharm 配置远程解释器的方法

1、Pycharm -> References(进入设置界面): 2、点击 Project Interpreter: 3、点击 Add Remote 来添加远程解释器:...

Python Deque 模块使用详解

创建Deque序列: from collections import deque d = deque() Deque提供了类似list的操作方法: d = deque(...

PyQT5 emit 和 connect的用法详解

PyQT5 emit 和 connect的用法详解

对于PyQT4, PyQT5在一些使用上有着比较明显的变化有很大的变化,让人惊讶是在emit和connect上的一些变化比较有意思,相信也是QT为了更好的和Python相结合做的改进。...

浅谈PYTHON 关于文件的操作

1.打开文件: f=open(r'E:\PythonProjects\test7\a.txt',mode='rt',encoding='utf-8') 以上三个单引号内分别表示:要打开的...

python学习教程之Numpy和Pandas的使用

python学习教程之Numpy和Pandas的使用

前言 本文主要给大家介绍了关于python中Numpy和Pandas使用的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 它们是什么? NumPy是Pytho...