MoSys详细说明文档 - Oejia 技术栈,企业方案分享、Odoo顾问
Oejia 技术栈
主页
分享
微信模块
索引
关于
订阅
编辑器
登录
MoSys详细说明文档
Oejia
on 2014-12-23 13:27:09
[TOC] #### 加载与初始化 __init__模块 ##### 1. 设置模板路径 设置mosys内置的页面模板存放的路径 **./templates** 同时设置模板解析错误时返回的内容 ##### 2. 设置静态路径 > * static_mosys:Admin相关页面使用的静态 js/css/imgs 等 > * tmpfile:主要用于存储导出时数据的临时文件 ##### 3. 安装apps 函数 **setup** 主要作用是进行模型扫描加载到全局对象,**load**模块定义了加载详细过程 ##### 4. 引入公共路由 ```python import route_func ``` route_func模块中定义了一些公共的URL路由 #### load模块 定义了mosys的核心加载过程 ##### 过程 循环`apps.apps_list`(子系统app列表),循环每个子系统的模型`app.models`,然后根据模型的类别分别做菜单、从属及初始化的处理,最后添加到每个类别的全局缓存对象中去,如下: - SYS_MENUS 全局菜单字典 - SYS_MODELS 全局数据库模型集合 - APP_PAGES 全局自定义页(custom)集合 - FORM_ACTIONS 全局自定义表单操作字典 mosys系统启动是做一次load处理,以后对象属性的访问从全局缓存中取 #### config模块 config.ini的读写工具类 #### custom模块 系列自定义模型的实现 ##### AppPage 自定义页 ##### GridModel 自定义Grid数据页 ##### FormAction 自定义表单操作页 #### CacheData 缓存公共工具组件 #### Grid Export Grid表格数据导出的实现 #### sql_utils 数据库操作工具集 #### 使用实例 ##### 1. 定义Server(Web服务启动入口) mosys本身是基于mole的,所以mole的使用方式均可直接用在mosys中 ```python #初始化加载apps import apps import mosys mosys.setup(apps) #加载其他普通Mole App import PyRedisAdmin.routes import serverM.routes from mole import run from mole.sessions import SessionMiddleware if __name__ == "__main__": app = SessionMiddleware(app=apps.app, cookie_key=apps.COOKIE_KEY) run(app=app,host='0.0.0.0', port=8081) ``` 其中apps.app、apps.COOKIE_KEY均是要启动apps的配置属性 ##### 2. apps的属性配置 在apps的代码目录下 **__init__.py** 内置的可配置属性如下: - **apps_list** 定义安装的子系统列表,示例如下 ```python apps_list = ( ('person', u'人事'), ('att', u'考勤'), ('pos', u'消费'), ) ``` - **COOKIE_KEY** 会话加密密钥 - **app** Mole WSGI Application对象 ```python from mole.mole import default_app app = default_app() ``` - **crud_db_config** 模型未指定database时默认使用的数据库连接配置,示例 ```python crud_db_config = { 'engine': 'peewee.SqliteDatabase', 'name': 'db/example.db', 'check_same_thread': False, } ``` 其中engine为使用的数据库类型,可选的有:`peewee.PostgresqlDatabase`、`peewee.MySQLDatabase`、`peewee.SqliteDatabase` 一般在模型定义时指定数据库连接池对象给模型database属性 - **workspace** 指定工作目录 ```python workspace = '.' ``` - 其他 ```python #配置公共模板目录 from mole.const import TEMPLATE_PATH TEMPLATE_PATH.append('./apps/templates/') #加载apps自定义的公共URL路由 import routes ``` ##### 3. app子系统的属性配置 - menus 定义菜单组,示例 ```python menus = ( ('aboutEmp',u'菜单组一', 'grup_chat'), ('baseinfo',u'菜单组二', 'grup_chart'), ('reportEmp',u'菜单组二', 'grup_disc') ) ``` “aboutEmp”为组key,“菜单组一”为菜单组显示名,“grup_chat”为菜单icon图标(需要在css中预先定义) - 其他 ```python # 配置app的模板目录 from mole.const import TEMPLATE_PATH TEMPLATE_PATH.append('./apps/crud_example/templates/') #加载app自定义的URL路由 import routes ```
Information
MoSys详细说明文档
http://www.oejia.net/blog/2014/12/23/mosys_detail.html
http://www.oejia.net/raw/2014/12/23/mosys_detail.md
Oejia
on 2014-12-23 13:27:09
Category
后端HTTP
Tag
Python
Web
Http
Related
2020-09-10 :
Odoo14 相对 Odoo13 依赖库的变化
2020-03-15 :
Odoo 扫码及授权免密登录模块使用说明
2019-03-08 :
Odoo 菜单美化模块 oejia_menu 常见问题处理
2018-12-21 :
小程序商城模块 Oejia_weshop v0.1.3 发布,支持衔接Odoo库存的能力
2018-02-08 :
Odoo 列表视图如何开启横向自动滚动条
2017-12-26 :
Odoo 前端开发可用的内置JS功能介绍
2017-08-10 :
DjangoX App 配置和菜单组设置介绍
2016-06-13 :
DjangoX 的菜单控制与配置
2014-12-15 :
Cordova设置应用图标icon和启动页面SplashScreen
2014-12-02 :
系统修复和更新记录
官方公众号
关注公众号实时咨询我们
分类
Odoo (81)
DjangoX (11)
后端HTTP (7)
YouMd (4)
移动开发 (4)
Django (4)
公告说明 (2)
JS (2)
Python (1)
前端 (1)
Nginx (1)
桌面UI (1)
January 2021
Sun
Mon
Tue
Wed
Thu
Fri
Sat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
About This Entry
Mole详细说明文档
RQ异步任务队列介绍
About This Blog
main index
to find recently
archives
to find all
标签
微信模块
小程序商城
Python
Web
Http
Cordova
客服系统
微信客服系统
HTML5
微信客服
Markdown
解析
DjangoX
微信模块发布记录
客服工单系统
ExtJS
示例
Excel
JS
服系统
新年
PyQT
YouPBX
扩展开发
最近发布
Odoo 如何用命令行备份还原数据
如何实现 Odoo 数据每天备份到本地存储
微信模块 Oejia_wx v0.6.3 发布,多项兼容优化,即将全面适配 Odoo14
Odoo 小程序商城模块 Oejia_weshop v0.2.2 发布,全面支持多公司销售机制
OE商城积分模块
Odoo14 相对 Odoo13 依赖库的变化
Oejia 七月模块产品动态之OE商城
小程序商城模块 Oejia_weshop v0.2.1 发布,各种营销活动支持打通线上线下业务
基于企业微信官方审批应用实现的Odoo通用审批功能
OE小程序商城订阅消息通知使用说明
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子