uliweb 笔记1

Uliweb通过runserver命令启动,这其中是怎么样了流程,在这边理一下:

在Uliweb\manage.py里有runserver这个函数,那基本上就是通过调用这个函数启动Uliweb的了。

 

runserver函数本身是一个装饰函数,在main函数中,并没有对runserver的调用,应该注意的script.run()的调用。

run()函数是来自于werkzeug\script.py中。该函数就是对各种Uliweb的命令的调用。对于我们现在关注的是runserver

命令,那么最终的就是对runsever函数的调用。下面来分析runserver函数做了些什么操作。

 

在runserver函数中,主要是对make_application()和runsimple()的调用。

 

make_application返回的是一个Dispatcher的实例:

Dispatcher 初始话的时候,动态的加入了以下的属性(加入的都是类属性),这些在整个处理中都有很重要的作用。

-Dispatcher:

--modules:dict=得到的是该APP下的有用的view文件和,用到的SETTINGS.INI 文件。其中会包含orm\settings.ini,

                         session\settings.ini等Uliweb平台自动加入的ini文件

--url_map:werkzeug.routing.Map=Dispatcher.url_map = url_map(解析url)

--url_infos:list=url的列表,该列表是import view时通过expose得到的(待确认)

--全局变量settings=通过汇集各个settings.ini的配置得到,类型为:Uliweb.utils.pyini.Ini

--template_dirs:list=template的目录

--env:uliweb.core.storage.Storage=环境变量:['redirect', 'application', 'settings', 'url_for', 'error']

--settings:uliweb.util.pyint.Ini=所有用到的app的settings.ini

--template_env=env的COPY

--default_template=默认的template模板

 

runsimple()就是wrekzeug的启动服务器端的服务程序,使服务器处于监听状态,等待客户端的处理请求。一旦有客户端请求过来就调用相应的app开始处理相关请求.

 

在uliweb中的middleware有一次处理顺序,比如说auth的order是100,session的order是50,这个order决定了

middleware的处理先后顺序。order越小,在处理request的时候越先处理,但是处理reponse的时候顺序是倒过来的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值