论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
编程语言
[19026] 2016-10-31_打造pythonweb框架(三)PythonWSGI架构升级
文档创建者:
s7ckTeam
浏览次数:
1
最后更新:
2025-01-18
编程语言
1 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2016-10-31_打造pythonweb框架(三)PythonWSGI架构升级
打
造
p
y
t
h
o
n
w
e
b
框
架
(
三
)
:
P
y
t
h
o
n
W
S
G
I
架
构
升
级
原
创
三
斤
i
n
n
0
t
e
a
m
2
0
1
6
-
1
0
-
3
1
本
文
主
要
讲
w
e
b
框
架
架
构
会
有
两
种
形
式
,
一
种
装
饰
器
装
饰
器
和
另
外
一
种
正
则
表
达
式
正
则
表
达
式
实
现
路
由
。
装
饰
器
创
建
W
S
G
I
服
务
类
c
l
a
s
s
W
S
G
I
a
p
p
(
o
b
j
e
c
t
)
:
#
初
始
化
路
由
r
o
u
t
e
s
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
)
:
s
e
l
f
.
r
o
u
t
e
s
=
{
}
#
r
o
u
t
e
s
装
饰
器
d
e
f
r
o
u
t
e
(
s
e
l
f
,
p
a
t
h
=
N
o
n
e
)
:
d
e
f
d
e
c
o
r
a
t
o
r
(
f
u
n
c
)
:
s
e
l
f
.
r
o
u
t
e
s
[
p
a
t
h
]
=
f
u
n
c
r
e
t
u
r
n
f
u
n
c
r
e
t
u
r
n
d
e
c
o
r
a
t
o
r
#
执
行
w
s
g
i
方
法
,
进
行
路
由
验
证
d
e
f
_
_
c
a
l
l
_
_
(
s
e
l
f
,
e
n
v
i
r
o
n
,
s
t
a
r
t
_
r
e
s
p
o
n
s
e
)
:
p
r
i
n
t
'
c
a
l
l
'
r
e
t
u
r
n
s
e
l
f
.
w
s
g
i
(
e
n
v
i
r
o
n
,
s
t
a
r
t
_
r
e
s
p
o
n
s
e
)
d
e
f
w
s
g
i
(
s
e
l
f
,
e
n
v
i
r
o
n
,
s
t
a
r
t
_
r
e
s
p
o
n
s
e
)
:
p
a
t
h
=
e
n
v
i
r
o
n
[
'
P
A
T
H
_
I
N
F
O
'
]
#
获
取
路
由
地
址
p
r
i
n
t
p
a
t
h
i
f
p
a
t
h
i
n
s
e
l
f
.
r
o
u
t
e
s
:
s
t
a
t
u
s
=
'
2
0
0
O
K
'
#
返
回
状
态
2
0
0
r
e
s
p
o
n
s
e
_
h
e
a
d
e
r
s
=
[
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
]
s
t
a
r
t
_
r
e
s
p
o
n
s
e
(
s
t
a
t
u
s
,
r
e
s
p
o
n
s
e
_
h
e
a
d
e
r
s
)
p
r
i
n
t
s
e
l
f
.
r
o
u
t
e
s
[
p
a
t
h
]
(
)
r
e
t
u
r
n
s
e
l
f
.
r
o
u
t
e
s
[
p
a
t
h
]
(
)
#
进
行
路
由
跳
转
e
l
s
e
:
s
t
a
t
u
s
=
'
4
0
4
N
o
t
F
o
u
n
d
'
#
访
问
当
前
地
址
不
在
路
由
数
组
里
返
回
4
0
4
r
e
s
p
o
n
s
e
_
h
e
a
d
e
r
s
=
[
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
]
s
t
a
r
t
_
r
e
s
p
o
n
s
e
(
s
t
a
t
u
s
,
r
e
s
p
o
n
s
e
_
h
e
a
d
e
r
s
)
r
e
t
u
r
n
'
4
0
4
N
o
t
F
o
u
n
d
!
'
进
行
路
由
跳
转
a
p
p
=
W
S
G
I
a
p
p
(
)
#
创
建
对
象
a
p
p
.
r
o
u
t
e
(
'
/
'
)
#
创
建
路
由
d
e
f
i
n
d
e
x
(
)
:
#
方
法
名
不
能
重
复
r
e
t
u
r
n
[
'
T
h
i
s
i
s
i
n
d
e
x
'
]
#
返
回
信
息
@
a
p
p
.
r
o
u
t
e
(
'
/
h
e
l
l
o
'
)
#
创
建
路
由
d
e
f
h
e
l
l
o
(
)
:
r
e
t
u
r
n
[
'
h
e
l
l
o
'
]
#
返
回
信
息
启
动
服
务
f
r
o
m
w
s
g
i
r
e
f
.
s
i
m
p
l
e
_
s
e
r
v
e
r
i
m
p
o
r
t
m
a
k
e
_
s
e
r
v
e
r
h
t
t
p
d
=
m
a
k
e
_
s
e
r
v
e
r
(
'
'
,
8
0
0
0
,
a
p
p
)
p
r
i
n
t
'
s
t
a
r
t
.
.
.
.
'
h
t
t
p
d
.
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
完
整
代
码
完
整
代
码
`
`
`
p
y
t
h
o
n
c
l
a
s
s
W
S
G
I
a
p
p
(
o
b
j
e
c
t
)
:
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
)
:
s
e
l
f
.
r
o
u
t
e
s
=
{
}
d
e
f
r
o
u
t
e
(
s
e
l
f
,
p
a
t
h
=
N
o
n
e
)
:
d
e
f
d
e
c
o
r
a
t
o
r
(
f
u
n
c
)
:
s
e
l
f
.
r
o
u
t
e
s
[
p
a
t
h
]
=
f
u
n
c
r
e
t
u
r
n
f
u
n
c
r
e
t
u
r
n
d
e
c
o
r
a
t
o
r
d
e
f
_
_
c
a
l
l
_
_
(
s
e
l
f
,
e
n
v
i
r
o
n
,
s
t
a
r
t
_
r
e
s
p
o
n
s
e
)
:
r
e
t
u
r
n
s
e
l
f
.
w
s
g
i
(
e
n
v
i
r
o
n
,
s
t
a
r
t
_
r
e
s
p
o
n
s
e
)
d
e
f
w
s
g
i
(
s
e
l
f
,
e
n
v
i
r
o
n
,
s
t
a
r
t
_
r
e
s
p
o
n
s
e
)
:
p
a
t
h
=
e
n
v
i
r
o
n
[
'
P
A
T
H
_
I
N
F
O
'
]
p
r
i
n
t
p
a
t
h
i
f
p
a
t
h
i
n
s
e
l
f
.
r
o
u
t
e
s
:
s
t
a
t
u
s
=
'
2
0
0
O
K
'
r
e
s
p
o
n
s
e
_
h
e
a
d
e
r
s
=
[
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
]
s
t
a
r
t
_
r
e
s
p
o
n
s
e
(
s
t
a
t
u
s
,
r
e
s
p
o
n
s
e
_
h
e
a
d
e
r
s
)
p
r
i
n
t
s
e
l
f
.
r
o
u
t
e
s
[
p
a
t
h
]
(
)
r
e
t
u
r
n
s
e
l
f
.
r
o
u
t
e
s
[
p
a
t
h
]
(
)
e
l
s
e
:
s
t
a
t
u
s
=
'
4
0
4
N
o
t
F
o
u
n
d
'
r
e
s
p
o
n
s
e
_
h
e
a
d
e
r
s
=
[
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
]
s
t
a
r
t
_
r
e
s
p
o
n
s
e
(
s
t
a
t
u
s
,
r
e
s
p
o
n
s
e
_
h
e
a
d
e
r
s
)
r
e
t
u
r
n
'
4
0
4
N
o
t
F
o
u
n
d
!
'
a
p
p
=
W
S
G
I
a
p
p
(
)
@
a
p
p
.
r
o
u
t
e
(
'
/
'
)
d
e
f
i
n
d
e
x
(
)
:
r
e
t
u
r
n
[
'
T
h
i
s
i
s
i
n
d
e
x
'
]
@
a
p
p
.
r
o
u
t
e
(
'
/
h
e
l
l
o
'
)
d
e
f
h
e
l
l
o
(
)
:
r
e
t
u
r
n
[
'
h
e
l
l
o
'
]
f
r
o
m
w
s
g
i
r
e
f
.
s
i
m
p
l
e
_
s
e
r
v
e
r
i
m
p
o
r
t
m
a
k
e
_
s
e
r
v
e
r
h
t
t
p
d
=
m
a
k
e
_
s
e
r
v
e
r
(
'
'
,
8
0
0
0
,
a
p
p
)
p
r
i
n
t
'
s
t
a
r
t
.
.
.
.
'
h
t
t
p
d
.
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
运
行
正
则
创
建
W
S
G
I
服
务
类
i
m
p
o
r
t
r
e
#
导
入
模
块
c
l
a
s
s
W
S
G
I
a
p
p
:
h
e
a
d
e
r
s
=
[
]
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
,
u
r
l
s
=
(
)
)
:
s
e
l
f
.
u
r
l
s
=
u
r
l
s
s
e
l
f
.
s
t
a
t
u
s
=
'
2
0
0
O
K
'
d
e
f
_
_
c
a
l
l
_
_
(
s
e
l
f
,
e
n
v
i
r
o
n
,
s
t
a
r
t
_
r
e
s
p
o
n
s
e
)
:
x
=
s
e
l
f
.
m
a
p
p
i
n
g
_
u
r
l
s
(
e
n
v
i
r
o
n
)
s
t
a
r
t
_
r
e
s
p
o
n
s
e
(
s
e
l
f
.
s
t
a
t
u
s
,
s
e
l
f
.
h
e
a
d
e
r
s
)
i
f
i
s
i
n
s
t
a
n
c
e
(
x
,
s
t
r
)
:
r
e
t
u
r
n
i
t
e
r
(
[
x
]
)
e
l
s
e
:
r
e
t
u
r
n
i
t
e
r
(
x
)
d
e
f
m
a
p
p
i
n
g
_
u
r
l
s
(
s
e
l
f
,
e
n
v
i
r
o
n
)
:
#
进
行
正
则
路
由
查
找
p
a
t
h
=
e
n
v
i
r
o
n
[
'
P
A
T
H
_
I
N
F
O
'
]
#
获
取
路
由
地
址
f
o
r
p
a
t
t
e
r
n
,
n
a
m
e
i
n
s
e
l
f
.
u
r
l
s
:
m
=
r
e
.
m
a
t
c
h
(
'
^
'
+
p
a
t
t
e
r
n
+
'
$
'
,
p
a
t
h
)
i
f
m
:
a
r
g
s
=
m
.
g
r
o
u
p
s
(
)
f
u
n
c
=
g
l
o
b
a
l
s
(
)
[
n
a
m
e
]
r
e
t
u
r
n
f
u
n
c
(
*
a
r
g
s
)
r
e
t
u
r
n
s
e
l
f
.
n
o
t
f
o
u
n
d
(
)
d
e
f
n
o
t
f
o
u
n
d
(
s
e
l
f
)
:
#
找
不
到
返
回
4
0
4
s
e
l
f
.
s
t
a
t
u
s
=
'
4
0
4
N
o
t
F
o
u
n
d
'
s
e
l
f
.
h
e
a
d
e
r
s
=
[
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
]
r
e
t
u
r
n
'
4
0
4
N
o
t
F
o
u
n
d
n
'
@
c
l
a
s
s
m
e
t
h
o
d
#
定
义
类
方
法
d
e
f
h
e
a
d
e
r
(
c
l
s
,
n
a
m
e
,
v
a
l
u
e
)
:
c
l
s
.
h
e
a
d
e
r
s
.
a
p
p
e
n
d
(
(
n
a
m
e
,
v
a
l
u
e
)
)
进
行
路
由
跳
转
,
定
义
方
法
,
通
过
正
则
匹
配
d
e
f
G
E
T
_
i
n
d
e
x
(
*
a
r
g
s
)
:
W
S
G
I
a
p
p
.
h
e
a
d
e
r
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
r
e
t
u
r
n
'
W
e
l
c
o
m
e
!
n
'
d
e
f
G
E
T
_
h
e
l
l
o
(
*
a
r
g
s
)
:
W
S
G
I
a
p
p
.
h
e
a
d
e
r
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
r
e
t
u
r
n
'
H
e
l
l
o
%
s
!
n
'
%
a
r
g
s
u
r
l
s
=
[
(
'
/
'
,
'
G
E
T
_
i
n
d
e
x
'
)
,
(
'
/
h
e
l
l
o
/
(
.
*
)
'
,
'
G
E
T
_
h
e
l
l
o
'
)
]
w
s
g
i
a
p
p
=
W
S
G
I
a
p
p
(
u
r
l
s
)
启
动
服
务
i
f
_
_
n
a
m
e
_
_
=
=
'
_
_
m
a
i
n
_
_
'
:
f
r
o
m
w
s
g
i
r
e
f
.
s
i
m
p
l
e
_
s
e
r
v
e
r
i
m
p
o
r
t
m
a
k
e
_
s
e
r
v
e
r
h
t
t
p
d
=
m
a
k
e
_
s
e
r
v
e
r
(
'
'
,
8
0
0
0
,
w
s
g
i
a
p
p
)
p
r
i
n
t
'
s
e
r
v
e
r
s
t
a
r
t
i
n
g
.
.
.
'
h
t
t
p
d
.
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
完
整
代
码
i
m
p
o
r
t
r
e
c
l
a
s
s
W
S
G
I
a
p
p
:
h
e
a
d
e
r
s
=
[
]
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
,
u
r
l
s
=
(
)
)
:
s
e
l
f
.
u
r
l
s
=
u
r
l
s
s
e
l
f
.
s
t
a
t
u
s
=
'
2
0
0
O
K
'
d
e
f
_
_
c
a
l
l
_
_
(
s
e
l
f
,
e
n
v
i
r
o
n
,
s
t
a
r
t
_
r
e
s
p
o
n
s
e
)
:
x
=
s
e
l
f
.
m
a
p
p
i
n
g
_
u
r
l
s
(
e
n
v
i
r
o
n
)
p
r
i
n
t
x
s
t
a
r
t
_
r
e
s
p
o
n
s
e
(
s
e
l
f
.
s
t
a
t
u
s
,
s
e
l
f
.
h
e
a
d
e
r
s
)
i
f
i
s
i
n
s
t
a
n
c
e
(
x
,
s
t
r
)
:
r
e
t
u
r
n
i
t
e
r
(
[
x
]
)
e
l
s
e
:
r
e
t
u
r
n
i
t
e
r
(
x
)
d
e
f
m
a
p
p
i
n
g
_
u
r
l
s
(
s
e
l
f
,
e
n
v
i
r
o
n
)
:
p
a
t
h
=
e
n
v
i
r
o
n
[
'
P
A
T
H
_
I
N
F
O
'
]
f
o
r
p
a
t
t
e
r
n
,
n
a
m
e
i
n
s
e
l
f
.
u
r
l
s
:
m
=
r
e
.
m
a
t
c
h
(
'
^
'
+
p
a
t
t
e
r
n
+
'
$
'
,
p
a
t
h
)
i
f
m
:
a
r
g
s
=
m
.
g
r
o
u
p
s
(
)
f
u
n
c
=
g
l
o
b
a
l
s
(
)
[
n
a
m
e
]
r
e
t
u
r
n
f
u
n
c
(
*
a
r
g
s
)
r
e
t
u
r
n
s
e
l
f
.
n
o
t
f
o
u
n
d
(
)
d
e
f
n
o
t
f
o
u
n
d
(
s
e
l
f
)
:
s
e
l
f
.
s
t
a
t
u
s
=
'
4
0
4
N
o
t
F
o
u
n
d
'
s
e
l
f
.
h
e
a
d
e
r
s
=
[
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
]
r
e
t
u
r
n
'
4
0
4
N
o
t
F
o
u
n
d
n
'
@
c
l
a
s
s
m
e
t
h
o
d
d
e
f
h
e
a
d
e
r
(
c
l
s
,
n
a
m
e
,
v
a
l
u
e
)
:
c
l
s
.
h
e
a
d
e
r
s
.
a
p
p
e
n
d
(
(
n
a
m
e
,
v
a
l
u
e
)
)
d
e
f
G
E
T
_
i
n
d
e
x
(
*
a
r
g
s
)
:
W
S
G
I
a
p
p
.
h
e
a
d
e
r
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
r
e
t
u
r
n
'
W
e
l
c
o
m
e
!
n
'
d
e
f
G
E
T
_
h
e
l
l
o
(
*
a
r
g
s
)
:
W
S
G
I
a
p
p
.
h
e
a
d
e
r
(
'
C
o
n
t
e
n
t
-
T
y
p
e
'
,
'
t
e
x
t
/
p
l
a
i
n
'
)
r
e
t
u
r
n
'
H
e
l
l
o
%
s
!
n
'
%
a
r
g
s
u
r
l
s
=
[
(
'
/
'
,
'
G
E
T
_
i
n
d
e
x
'
)
,
(
'
/
h
e
l
l
o
/
(
.
*
)
'
,
'
G
E
T
_
h
e
l
l
o
'
)
]
w
s
g
i
a
p
p
=
W
S
G
I
a
p
p
(
u
r
l
s
)
i
f
_
_
n
a
m
e
_
_
=
=
'
_
_
m
a
i
n
_
_
'
:
f
r
o
m
w
s
g
i
r
e
f
.
s
i
m
p
l
e
_
s
e
r
v
e
r
i
m
p
o
r
t
m
a
k
e
_
s
e
r
v
e
r
h
t
t
p
d
=
m
a
k
e
_
s
e
r
v
e
r
(
'
'
,
8
0
0
0
,
w
s
g
i
a
p
p
)
p
r
i
n
t
'
s
e
r
v
e
r
s
t
a
r
t
i
n
g
.
.
.
'
h
t
t
p
d
.
s
e
r
v
e
_
f
o
r
e
v
e
r
(
)
运
行
i
n
n
0
t
e
a
m
是
一
个
正
在
成
长
的
安
全
团
队
微
信
号
:
i
n
n
0
t
e
a
m
长
按
可
关
注
我
们
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页