Tyrion中文文档(含示例源码)

简介:

Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado、Django、Flask、Bottle Web框架。Tyrion主要有两大重要动能:

  • 表单验证
  • 生成HTML标签
  • 保留上次提交内容

对于表单验证,告别书写重复的正则表达式对用户提交的数据进行验证的工作,从此解放双手,跟着我左手右手一个慢动作...

对于生成HTML标签,不在人工书写html标签,让Tyrion帮你自动创建...

对于保留上次提交内容,由于默认表单提交后页面刷新,原来输入的内容会清空,Tyrion可以保留上次提交内容。

github:https://github.com/WuPeiqi/Tyrion

 

使用文档

1、下载安装

1
pip install PyTyrion 

github: https://github.com/WuPeiqi/Tyrion

2、配置WEB框架种类

由于Tyrion同时支持Tornado、Django、Flask、Bottle多个WEB框架,所有在使用前需要进行指定。 

1
2
3
import  Tyrion
Tyrion.setup( 'tornado' )
# setup的参数有:tornado(默认)、django、bottle、flask

3、创建Form类

Form类用于提供验证规则、插件属性、错误信息等

1
2
3
4
5
6
7
8
from  Tyrion.Forms  import  Form
from  Tyrion.Fields  import  StringField
from  Tyrion.Fields  import  EmailField
 
class  LoginForm(Form):
     username  =  StringField(error = { 'required' '用户名不能为空' })
     password  =  StringField(error = { 'required' '密码不能为空' })
     email  =  EmailField(error = { 'required' '邮箱不能为空' 'invalid' '邮箱格式错误' })

4、验证用户请求

前端HTML代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
<form method = "POST"  action = "/login.html" >
     <div>
         < input  type = "text"  name = "username" >
     < / div>
     <div>
         < input  type = "text"  name = "password" >
     < / div>
     <div>
         < input  type = "text"  name = "email" >
     < / div>
 
     < input  type = "submit"  value = "提交" >
< / form>

用户提交数据时,在后台书写如下代码即可实现用户请求数据验证(Tornado示例):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class  LoginHandler(tornado.web.RequestHandler):
     def  get( self * args,  * * kwargs):
         self .render( 'login.html' )
 
     def  post( self * args,  * * kwargs):
         form  =  LoginForm( self )
 
         ###### 检查用户输入是否合法 ######
         if  form.is_valid():
 
             ###### 如果不合法,则输出错误信息 ######
             print (form.error_dict)
         else :
             ###### 如果合法,则输出用户输入的内容 ######
             print (form.value_dict)
         self .render( 'login.html' )

示例01源码下载(含Tornado、Django、Flask、Bottle)

5、验证用户请求 && 生成HTML标签 && 保留上次输入内容 && 错误提示

Tyrion不仅可以验证用户请求,还可以生成自动创建HTML标签并且可以保留用户上次输入的内容。在HTML模板中调用Form类对象的字段即可,如(Tornado示例):

  Form类
  处理请求(Tornado)
  HTML模板login.html

注意: HTML模板中的转义

示例02源码下载(含有Tornado、Django、Flask、Bottle)

6、Form字段类型

Form的字段用于指定从请求中获取的数据类型以及格式,以此来验证用户输入的内容。

1
2
3
4
5
6
7
8
from  Tyrion.Forms  import  Form
from  Tyrion.Fields  import  StringField
from  Tyrion.Fields  import  EmailField
 
class  LoginForm(Form):
     username  =  StringField(error = { 'required' '用户名不能为空' })
     password  =  StringField(error = { 'required' '密码不能为空' })
     email  =  EmailField(error = { 'required' '邮箱不能为空' 'invalid' '邮箱格式错误' })

以上代码表示此Form类可以用于验证用户输入的内容,并且 username和password必须不能为空,email必须不能为空并且必须是邮箱格式。

目前支持所有字段:

  View Code

7、Form字段widget参数:HTML插件

HTML插件用于指定当前字段在生成HTML时表现的种类和属性,通过指定此参数从而实现定制页面上生成的HTML标签

1
2
3
4
5
6
7
8
from  Tyrion.Forms  import  Form
from  Tyrion.Fields  import  StringField
from  Tyrion.Fields  import  EmailField
 
from  Tyrion.Widget  import  InputPassword
 
class  LoginForm(Form):
     password  =  StringField(error = { 'required' '密码不能为空' },widget = InputPassword())

上述LoginForm的password字段要求用户输入必须是字符串类型,并且指定生成HTML标签时会创建为<input type='password' > 标签

目前支持所有插件:

  View Code

8、动态初始化默认值

由于Form可以用于生成HTML标签,如果想要在创建标签的同时再为其设置默认值有两种方式:

  • 静态,在插件参数中指定
  • 动态,调用Form对象的 init_field_value 方法来指定
  动态初始值 - Form类
  动态初始值 - 处理请求的Handler(Tornado)

9、更多示例

示例源码下载:猛击这里

a. 基本使用

b. 多选checkbox

c、多选select

d. 动态select选项

写在最后

开源组件持续更新中,如您在使用过程中遇到任何问题,请留言,我将尽快回复!!!

Tyrion技术交流QQ群:564068039

Tyrion技术交流QQ群:564068039

Tyrion技术交流QQ群:564068039

重要的事情说三遍....

...

......

.........

............

.................  

 


本文转自武沛齐博客园博客,原文链接:http://www.cnblogs.com/wupeiqi/p/5938916.html,如需转载请自行联系原作者


目录
相关文章
|
6月前
|
Kubernetes 云计算 Docker
【K8S系列】深入解析 k8s:入门指南(一)
【K8S系列】深入解析 k8s:入门指南(一)
88 0
|
6月前
|
Kubernetes API Docker
【K8S系列】深入解析 k8s:入门指南(二)
【K8S系列】深入解析 k8s:入门指南(二)
70 0
|
9月前
|
存储 JSON 监控
01-Httprunner-简介、安装及基本使用
01-Httprunner-简介、安装及基本使用
|
机器学习/深度学习 存储 算法
PyTorch函数中文文档详细解释及示例(持续更新)
PyTorch函数中文文档详细解释及示例(持续更新)
230 0
PyTorch函数中文文档详细解释及示例(持续更新)
|
安全 程序员 API
最新 | Python 官方中文文档正式发布!
千呼万唤始出来!Python 官方文档终于发布中文版了!受英语困扰的小伙伴终于可以更轻松地阅读官方文档了。
4267 1
最新 | Python 官方中文文档正式发布!
|
监控 网络协议 数据安全/隐私保护
Wireshake简介与使用方法
1.wireshake简介 Wireshark是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
230 1
Wireshake简介与使用方法
|
JSON API 开发者
Retrofit笔记 | 简析官方API文档(结合示例代码)
Retrofit笔记 | 简析官方API文档(结合示例代码)
|
资源调度 前端开发
Gatsby 入门示例
Gatsby 初始化项目
249 0
|
JavaScript 前端开发
中文代码示例之Vuejs入门教程(一)问题后续
前文"中文代码示例教程之Vuejs入门"碰到的问题的解决. Solutions to the issues found when rewriting sample codes in Vuejs official guide by using Chinese naming as much as possible.
905 0

热门文章

最新文章