urls.py
文件
代码语言:javascript复制该文件里只有一个字典对象,用来保存请求路径和处理函数之间的对应关系。
urls = {
'/': 'show_home',
'/index.html': 'show_home',
'/test.html': 'show_test',
'/info.html': 'show_info'
}
server.py
文件:
代码语言:javascript复制from wsgiref.simple_server import make_server
from urls import urls
from utils import load_html, load_template
def show_home(start_response):
return load_html('/index.html', start_response)
def show_test(start_response):
start_response('200 OK', [('Content-Type', "text/html;charset=utf-8")])
return ['我是一段普通的文字'.encode('utf-8')]
def show_info(start_response):
return load_template('/info.html', start_response, name='张三',age=18})
def application(environ, start_response):
path = environ.get('PATH_INFO')
# 这里不再是一大堆的if...elif语句了,而是从urls字典里获取到对应的函数
func = urls.get(path)
if func:
return eval(func)(start_response)
# 其它请求暂时无法处理,返回404
else:
start_response('400 NOT FOUND', [('Content-Type', "text/html;charset=utf-8")])
return ['页面未找到'.encode('utf-8')]
httpd = make_server('', 8000, application)
print("Serving HTTP on port 8000...")
httpd.serve_forever()