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

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

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

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

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

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

 

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

使用文档

1、下载安装

pip install PyTyrion 

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

2、配置WEB框架种类

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

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

3、创建Form类

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

    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代码:

        <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示例):

        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示例):

        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类

相关文章:

  • 2022-02-18
  • 2021-05-03
  • 2021-12-25
  • 2021-09-27
  • 2021-11-22
  • 2022-01-12
  • 2021-10-29
  • 2021-10-01
猜你喜欢
  • 2022-01-11
  • 2021-12-14
  • 2021-07-20
  • 2022-12-23
  • 2021-07-12
  • 2022-01-26
相关资源
相似解决方案