作家
登录

用Python写一个简单的Web框架

作者: 来源: 2017-06-09 05:39:28 阅读 我要评论

        self.start(status, response_headers) 
  •  
  •         yield "Hello world!\n" 
  •  
  •   
  •  
  •     def notfound(self): 
  •  
  •         status = '404 Not Found' 
  •  
  •         response_headers = [('Content-type''text/plain')] 
  •  
  •         self.start(status, response_headers) 
  •  
  •         yield "Not Found\n"  
  • 修改code.py中的from application import simple_app as app,用my_app来调换simple_app后即可体验效不雅。

    五、重构

    膳绫擎的代码固然奏效,然则在编码风格和灵活性方面有很多问题,下面慢慢对其进行重构。

    1、正则匹配URL

    清除URL硬编码,增长URL调剂的灵活性:

    1. #!/usr/bin/env python 
    2.  
    3. # -*- coding: utf-8 -*- 
    4.  
    5.   
    6.  
    7. """application.py""" 
    8.  
    9.   
    10.  
    11. import re ##########修改点 
    12.  
    13.   
    14.  
    15. class my_app: 
    16.  
    17.   
    18.  
    19.     urls = ( 
    20.  
    21.         ("/""index"), 
    22.  
    23.         ("/hello/(.*)""hello"), 
    24.  
    25.     ) ##########修改点 
    26.  
    27.   
    28.  
    29.     def __init__(self, environ, start_response): 
    30.  
    31.         self.environ = environ 
    32.  
    33.         self.start = start_response 
    34.  
    35.   
    36.  
    37.     def __iter__(self): ##########修改点 
    38.  
    39.         path = self.environ['PATH_INFO'
    40.  
    41.         method = self.environ['REQUEST_METHOD'
    42.  
    43.   
    44.  
    45.         for pattern, name in self.urls: 
    46.  
    47.             m = re.match(

        推荐阅读

        FreeFileSync:在Ubuntu中对比及同步文件

      FreeFileSync 是一个自由、开源以及跨平台的文件夹比较及同步软件,它可以赞助你同步 Linux、Windows 和 Mac OS 中的文件和文件夹。它是便携的,也可以被安装在本地体系中,它的功能丰富>>>详细阅读


      本文标题:用Python写一个简单的Web框架

      地址:http://www.17bianji.com/lsqh/35657.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)