xweb: 一款无依赖的python web框架(低于500行代码)

前端之家收集整理的这篇文章主要介绍了xweb: 一款无依赖的python web框架(低于500行代码)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

猜你在找的设计模式相关文章