蓝图

在LuyA框架中,我同样为大家提供了蓝图的能力。理解蓝图概念其实并不难,大家也不要被这个概念所吓到。

使用蓝图的原因非常简单,就是因为有时候,代码太长了,我们需要对代码进行分割,以便我们以后能更好的维护我们所写的程序。

我们看一下例子:

from luya import Luya
from luya import response
from luya import blueprint

app = Luya()

bp = blueprint.Blueprint('zhengfang',prefix_url='/bp')

@bp.route('/index')
async def blueprint_hello(request):

    return response.text('我的蓝图')


@app.route('/')
async def helloWorld(request):

    return response.text('hello,world')


if __name__ == '__main__':
    app.register_blueprint(bp)
    app.run()

一个简单的蓝图程序就这样诞生了。

我们注意到我们使用了Blueprint这个类,创建了一个新对象,然后使用这个对象上的route函数注册我们的URL。我们还主要到,在我们初始化bp对象的时候,后面跟着一个,prefix_url='/bp'

使用蓝图的route后,框架会自动帮你添加prefix_url到蓝图的URL头部。上述例子中,用户访问127.0.0.1:8000/bp/index的时候就可以访问到blueprint_hello函数了。

我们甚至可以把

from luya import blueprint

bp = blueprint.Blueprint('zhengfang',prefix_url='/bp')

@bp.route('/index')
async def blueprint_hello(request):

    return response.text('我的蓝图')

这段代码拷贝到另外一个文件中去,然后在主文件中引入这个蓝图,并注册到app上,我们就可以轻松的实现了代码的切分,一个蓝图管理一组相关的url,各司其职,相互不影响。

results matching ""

    No results matching ""