【从零学习python 】93.使用字典管理请求路径

简介: 【从零学习python 】93.使用字典管理请求路径

使用字典管理请求路径

文件结构:

  • server.py
  • utils.py
  • urls.py
  • pages
  • index.html
  • templates
  • info.html

urls.py文件

该文件里只有一个字典对象,用来保存请求路径和处理函数之间的对应关系。

urls = {
    '/': 'show_home',
    '/index.html': 'show_home',
    '/test.html': 'show_test',
    '/info.html': 'show_info'
}


server.py文件:

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()
相关文章
|
3天前
|
数据采集 SQL 关系型数据库
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
30 14
|
2天前
|
存储 Python
python将字典的键或值解包到变量中
【7月更文挑战第5天】
12 4
|
1天前
|
索引 Python
十分钟学习Python异常处理
在编程过程中,错误和异常是不可避免的。Python提供了强大的异常处理机制,帮助我们捕获和处理运行时错误,使程序更加健壮和可靠。本文将带你在十分钟内快速掌握Python的异常处理基础知识。
|
2天前
|
机器学习/深度学习 算法 数据挖掘
Python强化学习应用于数据分析决策策略:** - 强化学习让智能体通过环境互动学习决策。
【7月更文挑战第5天】**Python强化学习应用于数据分析决策策略:** - 强化学习让智能体通过环境互动学习决策。 - Python因丰富库(如TensorFlow, PyTorch, Keras, Pandas, NumPy)和生态而受青睐。 - 使用OpenAI Gym构建环境,如`gym.make('CartPole-v0')`。 - 选择模型,例如神经网络,定义策略如Q-Learning。 - 训练模型,调整智能体行为,如Q-Learning更新Q表。 - 最后评估模型性能,实现数据驱动决策。
11 3
|
2天前
|
Python
|
3天前
|
Python
Python中字典 直接解包
【7月更文挑战第4天】
10 3
|
1天前
|
存储 人工智能 数据挖掘
十分钟学习Python基础知识
Python是一种高效、易学且功能强大的编程语言,广泛应用于数据分析、人工智能、Web开发等领域。如果你是编程新手,想要快速入门Python,那么这篇文章将是你的最佳选择。我将在十分钟内带你了解Python的基础知识。
|
2天前
|
Python
python解包字典到函数参数
【7月更文挑战第5天】
6 2
|
3天前
|
Python
Python中字典解包使用*和**操作符
【7月更文挑战第4天】
9 3
|
2天前
|
Python
python解包字典到新的字典
【7月更文挑战第5天】
10 1