xweb: 一款无依赖的python

发布时间:2019-10-09 10:39:58编辑:auto阅读(2261)

    github地址: https://github.com/gaojiuli/xweb

    简介

    用极少的代码实现一款web框架,目标是用低于1000行的代码实现flask的核心功能,xweb框架基于python3.5以上开发

    特点

    1. few code

    2. do more

    3. no dependencies

    安装

    pip install xweb

    hello world

    from xweb.application import XWeb
    
    app = XWeb()
    
    
    @app.route('/')
    def hello():
        return 'hello world!'
    
    
    app.listen(3000)

    路由

    from xweb.application import XWeb
    
    app = XWeb()
    
    
    @app.route('/:name/')
    def call_my_name(name):
        return 'hi {}!'.format(name)
    
    
    app.listen(3000)

    请求

    from xweb.globals import request
    
    request.path
    request.query_string
    request.query
    request.files
    request.forms
    request.json
    request.ip
    request.hostname
    request.headers
    

    相应

    from xweb.globals import response
    
    response.headers
    response.status
    response.body

    中间件

    from xweb.application import XWeb
    
    app = XWeb()
    
    @app.middleware('request')
    def print_on_request1():
        print("I print when a request is received by the server1")
    
    
    @app.middleware('request')
    def print_on_request2():
        print("I print when a request is received by the server2")
    
    
    @app.middleware('response')
    def print_on_response1():
        print("I print when a response is returned by the server1")
    
    
    @app.middleware('response')
    def print_on_response2():
        print("I print when a response is returned by the server2")
    
    @app.route('/:name/')
    def call_my_name(name):
        return 'hi {}!'.format(name)
    
    
    app.listen(3000)

    TODO

    1. more http status code

    2. some necessary middleware

    3. enough test code

    4. support blueprint

    5. a cool logo

    欢迎star或者fork

    github地址: xweb

关键字