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

Posted woshishui我是谁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tyrion 中文文档(含示例源码)相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

425762-20161009185237561-173732312

使用文档

1、下载安装

 1 pip install PyTyrion 

 

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

2、配置WEB框架种类

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

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

 

 

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

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

 

 

4、验证用户请求

前端HTML代码:

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

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

 

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

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

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

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\': \'邮箱格式错误\'})

 

注意: HTML模板中的转义

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

6、Form字段类型

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

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

目前支持所有字段:

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

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

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

目前支持所有插件: