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的时候顺序是倒过来的。
分享到:
相关推荐
Uliweb 快速易用的Python Web Framework
在Web开发领域,Python提供了多个优秀的Web框架,其中最知名的包括Django、Quixote和Uliweb。下面将对这三个框架进行详细阐述。 首先,Django是Python中最广泛使用的Web框架之一,被誉为“ batteries included ”的...
1. **轻量级设计** Uliweb的核心设计是轻量级的,这使得它在处理复杂项目时依然保持良好的性能。它不依赖大型库,而是通过精简的组件来实现Web应用的构建,降低了学习曲线,同时也减少了运行时的资源消耗。 2. **...
虽然社区规模不大,但已经拥有近1万名用户,每天处理的动态请求大约有20万次。截至2013年发布的版本为0.2.2,它依赖于SQLAlchemy、Werkzeug、Alembic等流行的Python库,但是其大部分组件是李迎辉自行开发的。 ...
#### 1. 重用性 Uliweb强调可重用性,允许开发者将模板、视图、静态文件、模型和表单作为独立的App进行复用。通过App级别的配置文件(settings.ini)和独特的依赖处理机制,实现代码的高效复用。 #### 2. 方便性 ...
该项目是一款基于Uliweb框架和apijson的轻量级Web API设计源码,包含56个文件,涵盖15个Python源文件、13个文本文件、8个配置文件、7个HTML文件、5个Markdown文件、3个Git忽略文件、1个YAML文件、1个许可协议文件、1...
【Uliweb框架详解】 Uliweb是一款针对Python开发者的快速、易用的Web框架,由Limodou在2009年8月16日发布。它旨在提供一种更加灵活且可重用的Web开发解决方案,以解决其他现有框架在模板、URL映射和应用程序重用...
该项目是利用UliWeb框架开发的简易工作流引擎源码,由73个文件构成,其中包括46个Python源文件、8个HTML文件、5个规格说明文件、4个配置文件、2个Git忽略文件、2个Markdown文件、1个许可证文件以及1个CSS样式表文件...
### 1. 历史背景与开发理念 Uliweb的诞生源于开发者对不同Python Web框架的体验和反思,如PHP、Zope、CherryPy、Karrigell、Django、Web2py等。开发者指出Django的模板系统、URL映射和应用程序重用性存在不足,而...
Uliweb简介 Limodou 关于Uliweb Uliweb是一个基于Python的完整堆栈的Web框架。 它具有三个主要设计目标,分别是:可重用性,可配置性和可替换性。 所有功能都围绕这些目标。 该项目由Limodou 创建和领导。执照Uliweb...
该项目是一款采用uliweb框架开发的myops用户权限管理平台源码,涵盖531个文件,其中包含177个JavaScript文件、97个CSS文件、58个PNG图片文件、47个Python文件、38个HTML文件,以及少量其他类型文件。平台具备用户...
Uliweb是由limodou 创建的基于Python的Web框架,而peafowl是uliweb框架的应用程序收集项目,以基于AdminLTE( )提供管理功能和新样式。 制作文件 UliwebKong雀文档是用MarkDown语法编写的,您可以使用将其编译为...
1. **Uliweb框架基础**:Uliweb是一个轻量级的Python Web框架,其设计目标是简洁、灵活和高效。它支持MVC(模型-视图-控制器)架构,允许开发者用Python编写业务逻辑,同时提供了URL路由、模板引擎、表单处理等功能...
reactjs_uliweb_example 使用全栈 python web 框架的 React JS 教程示例 - Uliweb 链接 , 用法 安装 uliweb & plugs 和 bpmappers 获取 reactjs_uliweb_example 的源码 在 reactjs_uliweb_example 目录中运行 '...
使用到的技术框架包括Uliweb框架和其内置的ORM(对象关系映射)功能。下面将详细解释各个部分知识点。 首先,数据库连接是进行数据库操作的前提条件。在Python蜘蛛项目中,数据库的连接可以通过Uliweb提供的`get_...
后来Uliweb的作者limodou 认为这个教程很不错,于是有了Uliweb版的simple-todo。接着又有了Bottle版和Flask版。这俨然成了一个FrameworksShow项目。既然是FrameworksShow, 那Django的总不应当缺了吧。 simple-todo:...
智普jeapedu教育python周末班课程资料,下载地址:http://uliweb.clkg.org/tutorial/read/21
安装uliweb环境,进行Hello, world介绍 uliwebzone项目介绍 uliweb入门培训 初始框架搭建 codepark活动的目标 开发一个活动展示的应用,主要实现功能如下: 提供一个基本的用户管理功能 提供活动创建及管理功能 每个...