零(Zero)框架(v0.03)模板说明--参考

Zero框架(v0.03)模板说明

一、简介

  模板的使用是为了加快应用的开发速度,在兼顾复用的情况下实现数据程序和页面实现分离。基于模版,程序员和页面设计者可以各司其职,相互配合。程序员开发完毕后,很快能看到应用效果,调通代码,对其中功能性进行验证,保证功能正确。页面设计者和美工,可以通过修改样式表,调整界面元素,对模板的外观进行美化,在有特殊需要时,可以基于原有模版修改生成新模版,也可以设计新页面、新模块,把它转换成新模版。

  Zero框架(v0.03)模板,实际是基于python上的Bottle库内置的SimpleTemplate模板引擎来实现的,具体模版语法可以参考Bottle的相关介绍。Zero框架(v0.03)模板可以分为页面模版和组件模版两类。

二、模版用法

  模板约定统一存放在应用文件所在目录下views目录中,实际就是可以嵌入python脚本的html文件,利用嵌入的python脚本,可以输出python变量的值,也可以控制html文本的输出。可以通过两种方式来进行调用,一个view装饰器,另一个template函数,可以在调用模版时向模版传递参数,用于控制模版行为,传递要显示内容。

  具体用法可参考example.py的“第五部分 功能示例”中的例子。

三、页面模版

  页面模版用于页面生成,目前提供了两种风格的页面模版。

  1. main_example.html

功能:   实现带多层菜单的页面。

输入参数:  title: 标题;

     content: 详情内容。

参考例子

  示例程序(example.py)的“# 4.1.2 网站首页A”、“# 5.3.2【应用示例】示例2 菜单界面 --查询详情”,效果见图1、图2。

参考语句

    return template('main_example', title='Python应用框架示例',content='<br/><h1>欢迎登录!</h1><br/>')

备注:1)菜单项在\statics\config\menu_config_example.js文件中进行配置。

   2)发现该模板在IE8上页面显示不正常,在其他浏览器如360浏览器(内网国产电脑)、Chrome、FireFox、Microsoft Edge、IE11中测试正常。

图1 页面模板main_example效果1

图2 页面模板main_example效果2

  2、app_example.html

功能:     实现带下拉菜单的页面,根据输入的title(标题),决定适用的菜单。

输入参数:  title: 标题;

     content: 详情内容。

参考例子

  示例程序(example.py)的“# 5.2【应用示例】示例1 独立模式 --查询”,效果见图3。

备注:1)菜单项在app_example.html文件中直接进行配置。

    2)提供“返回”按钮,默认配置为返回网站首页,可配合实现用户口令修改和退出。

 

图3 页面模板app_example效果

四、组件模版

  组件模版用于生成页面主体的内容,针对性解决有一定普遍性的专门需要,套用模板后生成的结果可以做为传入页面模板的content的值。目前提供了文件上传组件、用户信息组件(含口令修改功能)和几种模式的数据展示组件。

  1、DataBox.tpl

功能: 以表格形式展示带标题、字段名的数据表。

输入参数:  lable: 标题;

     columnLables: 字段名称(以“|”做为间隔符);  

     dataValues: 要展示的二维数据。

参考例子:示例程序(example.py)的“# 5.2.2【应用示例】示例1 独立模式 --查询详情”。

参考语句:(DataBox模板和zero框架提供的iOracleGet联合使用,三句代码实现一次查询,并将结果勇表格展示的任务。)

    sql2='''

select 1 xh, max(substr(SYS_CONNECT_BY_PATH(COLUMN_NAME, ','),2)) col from (

select COLUMN_NAME as COLUMN_NAME,column_id from user_tab_columns  where table_name= :key )

start with column_id=1 connect by column_id=rownum

    '''

    lable2='字段名'

r2=template('DataBox', title='序号|字段名拼接',columnLables=lable2, dataValues=iOracleGet(sql2,{'key':’EMP’}))

  2、DataBoxFilter.tpl

功能

  带数据筛选器的数据展示控件,以表格形式展示带标题、字段名的数据表,提供可进行行数据筛选的功能。

输入参数:  lable: 标题;

     columnLables: 字段名称(以“|”做为间隔符);  

     dataValues: 要展示的二维数据。

  3、FatherDataBox.tpl

功能

  主从查询中的主查询控件,点击数据行,跳转到子查询页面。带标题,可选择提供页面数据筛选功能。

输入参数:  lable: 标题;

      columnLables: 字段名称(以“|”做为间隔符);  

      dataValues: 要展示的二维数据;

      goToUrl: 跳转去的子数据页面的地址(默认值:./);

      keyColID: 关键字段序号(置默认值0,表示第一列值);

      Filter: 选择是否显示数据筛选器,值为True表示要显示。

参考例子

  示例程序(example.py)的“# 5.2【应用示例】示例1 独立模式 --查询”,效果见图4。

 

图4 组件模板FatherDataBox效果

  4、ChildrenDataBox.tpl

功能

  主从查询中的子查询控件,根据传来的关键字显示对应数据。带标题,提供传来的关键值显示,可选择提供页面数据筛选功能。

输入参数:  lable: 标题;

     columnLables: 字段名称(以“|”做为间隔符);  

     dataValues: 要展示的二维数据;

     KeyLable: 关键字标签(默认值“关键字”);

     KeyValue: 关键字值(如果不传入关键字值,则不显示);

     Filter: 选择是否显示数据筛选器,值为True表示要显示。

参考例子

  示例程序(example.py)的“# 5.2.2【应用示例】示例1 独立模式 --查询详情”,,效果见图5。。

 

图5 组件模板ChildrenDataBox效果

  6、UploadFile.tpl

功能:文件上传模块,提供文件选择、上传功能。

输入参数:  title: 标题;

     url: 上传处理页面地址;  

     ftype: 上传文件类型(所属业务文件类别名);

     keyName: 关键字名称(如果不传入,对应位置显示“关键字”);

     keyValue: 关键字值(如果不传入关键字值,则不显示关键字名称和对应值)。

参考语句

  template('UploadFile', title='XXXX',url='./fbcjxx_scmd/upload',ftype='YYYY',keyName='所属年月',keyValue=datetime.datetime.now().strftime("%Y%m"))

备注:提供简单校验功能,如果未选择文件,点“上传”按钮会提示错误。

 

图6 组件模板UploadFile效果

  7、user.tpl

功能:     用户信息显示模板(含密码修改、退出登录功能)。

输入参数:  userID: 用户登录号;

     userName: 用户姓名;  

     remoteAddress: 来访地址;

     attach: 附加显示信息(可为空,应为html格式文本,传入后显示在来访地址之后,可根据应用需要酌情使用)。

参考例子:示例程序(example.py)的“# 4.1.3 用户信息(有app权限时显示)”、“# 4.1.4 用户首页B(仅有user权限时,也作为用户信息显示及口令修改页面)”。

参考语句

template('user',userID=request.auth[0],userName=’XXXX’,remoteAddress=request.environ.get('REMOTE_ADDR'),attach=appList_html)

备注:1)页面带三个按钮:“返回”按钮返回上一页;“修改密码”会在该模块下面展开修改密码相关功能;“退出登录”会退出当前的用户登录。

   2)点击“确认修改”按钮提交密码修改请求后,会先做两个检查,一是两给输入的新口令是否一致;二是密码长度应在4-30位之间(可通过编辑模板文件中的名为check的javascript函数,对校验规则予以增改)。校验通过后,默认统一以post方式提交到“/changePWD”页面进行处理。

   3)点击“退出登录”按钮后,后续会转到“/logout”页面执行退出相关操作。

(此处略)

图7 组件模板user效果

(此处略)

图8 组件模板user修改密码界面

                                银河软件工作室

                                2023年2月10日

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值