コード例 #1
0
class addForm(FlaskForm):
    language = core.SelectField(
        label='基础环境镜像:',
        choices=language_choices(),
    )
    pluginname = simple.StringField(
        label='接口名称: ',
        widget=widgets.TextInput(),
        # validators=[DataRequired(message='接口名称不能为空'),
        #                         NoneOf(['t1', 't2', 't10', '3'], message='wuxiao', values_formatter = 'caonima')]
        # render_kw={
        #     "placeholder":"请输入账号!",
        #     "required":'required'               #表示输入框不能为空,并有提示信息
        # }
    )
    inputfilename = simple.StringField(
        label='输入文件名: ',
        widget=widgets.TextInput(),
        # validators=[DataRequired()]
    )
    inputtype = core.SelectMultipleField(
        label='输入数据类型:',
        choices=(('txt', 'txt'), ('world', 'world'), ('jpg', 'jpg'), ('png',
                                                                      'png')),
        default=['txt', 'world', 'jpg', 'png'])
    outputfilename = simple.StringField(label='输出文件名:',
                                        widget=widgets.TextInput())
    outputtype = core.SelectMultipleField(
        label='输出数据类型:',
        choices=(('txt', 'txt'), ('world', 'world'), ('jpg', 'jpg'), ('png',
                                                                      'png')),
        option_widget=widgets.CheckboxInput(),
        default=['txt', 'world', 'jpg', 'png'])
    sources = core.SelectField(label='软件源:',
                               render_kw={'class': 'index-select'},
                               choices=sources_choices())
    textarea = TextAreaField(
        label='接口运行环境:',
        render_kw={'class': 'text-control'},
        # validators=[DataRequired()]
    )
    pluginfile = FileField(
        label='文件选择:',
        # validators=[FileRequired(),
        #                         FileAllowed(['jpg','jpeg','png','gif'])]
    )
    runCommand = simple.StringField(label='运行命令:', widget=widgets.TextInput())
    detail = TextAreaField(
        label='接口描述:',
        render_kw={'class': 'text-detail'},
        # validators=[DataRequired()]
    )
    save = simple.SubmitField('检查')
    pulish = simple.SubmitField('提交')
コード例 #2
0
ファイル: WTF.py プロジェクト: pureboys/Python_road
class RegForm(Form):
    username = simple.StringField(label="用户名:",
                                  validators=[
                                      validators.Length(
                                          min=4,
                                          max=10,
                                          message="用户名不能小于%(min)d,不能大于%(max)d")
                                  ])

    password = simple.PasswordField(
        label="密码:",
        validators=[
            validators.Length(max=10,
                              min=6,
                              message="password不能小于%(min)d,不能大于%(max)d")
        ])

    repassword = simple.PasswordField(
        label="确认眼神:",
        validators=[validators.EqualTo("password", message="眼神未确认")])
    email = simple.StringField(label="邮箱",
                               validators=[validators.Email(message="邮箱格式不符")])

    gender = core.RadioField(label="性别:",
                             choices=[(1, "女"), (2, "男")],
                             coerce=int)

    hobby = core.SelectMultipleField(label="嗜好",
                                     choices=[(1, "小姐姐"), (2, "小萝莉"),
                                              (3, "小正太"), (4, "小哥哥")],
                                     coerce=int)

    sub = simple.SubmitField(label="登陆", render_kw={"class": "bs"})
コード例 #3
0
ファイル: project.py プロジェクト: Three-Ratel/architectOne
    class ProjectAddForm(form.Form):
        name = simple.StringField(
            label=u'名称',
            validators=[validators.DataRequired(message=u'名称不能为空')],
            render_kw={'class': 'form-control', 'placeholder': u'项目名称'}
        )
        title = simple.StringField(
            label=u'描述',
            validators=[validators.DataRequired(message=u'描述不能为空')],
            render_kw={'class': 'form-control', 'placeholder': u'项目描述'}
        )

        repository = simple.StringField(
            label=u'地址',
            validators=[validators.DataRequired(message=u'地址不能为空')],
            render_kw={'class': 'form-control', 'placeholder': u'项目地址'}
        )
        hosts = core.SelectMultipleField(
            label=u'主机',
            choices=(),
            coerce=int,
            render_kw={'class': 'form-control'}
        )

        def __init__(self, *args, **kwargs):
            super(ProjectAddForm, self).__init__(*args, **kwargs)

            self.hosts.choices = db.session.query(models.Host.id, models.Host.hostname).all()
コード例 #4
0
class RegForm(Form):
    # 用户名
    username = simple.StringField(
        label='用户名',  # label标签
        validators=[  # 校验规则
            validators.data_required(message='数据不能为空'),
            validators.Length(min=5, max=16, message="用户名要在5-6个字符之间")
        ],
        render_kw={"class": 'user'}  # input标签中的类
    )
    # 密码
    pwd = simple.PasswordField(
        label='密码',  # label标签
        validators=[  # 校验规则
            validators.data_required(message='数据不能为空'),
            validators.Length(min=5, max=16, message="用户名要在5-6个字符之间"),
            validators.Regexp(
                regex='^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,}$',
                message='最少6位,包括至少1个大写字母,1个小写字母,1个数字,不允许包含特殊字符')
        ],
        render_kw={"class": 'pwd'}  # input标签中的类
    )
    # 确认密码
    repwd = simple.PasswordField(
        label='密码',  # label标签
        validators=[  # 校验规则
            validators.data_required(message='数据不能为空'),
            validators.EqualTo('pwd', message='两次密码不一致')
        ],
        render_kw={"class": 'repwd'}  # input标签中的类
    )
    # 单选
    gender = core.RadioField(
        label='性别',
        choices=((1, '女'), (2, '男')),
        coerce=int,  # 选择字符串转化为int 默认为str
        default=2  # 默认选中
    )

    # 多选
    hobby = core.SelectMultipleField(
        label='爱好',
        choices=[
            [1, '西游记'],
            [2, '红楼梦'],
        ],
        coerce=int,
        default=[1, 2]  # 默认
    )
コード例 #5
0
class WorkerForm(BaseForm):

    name = simple.StringField(label="节点名称",
                              validators=[DataRequired()],
                              render_kw={'class': 'form-control'})
    remark = simple.StringField(label="备注",
                                render_kw={
                                    "placeholder": "可不填写。",
                                    'class': 'form-control'
                                })

    config = core.SelectMultipleField(label='选择配置',
                                      render_kw={'class': 'form-control'},
                                      coerce=int)

    def __init__(self, *args, **kwargs):
        from app.view_models.worker_view import worker_choices
        super(WorkerForm, self).__init__(*args, **kwargs)
        self.config.choices = worker_choices()
コード例 #6
0
class RegisterForm(Form):
    name = simple.StringField(
        label='用户名',
        validators=[
            validators.DataRequired()
        ],
        widget=widgets.TextInput(),
        render_kw={'class': 'form-control'},
        default='alex'
    )

    pwd = simple.PasswordField(
        label='密码',
        validators=[
            validators.DataRequired(message='密码不能为空.')
        ],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'form-control'}
    )

    pwd_confirm = simple.PasswordField(
        label='重复密码',
        validators=[
            validators.DataRequired(message='重复密码不能为空.'),
            validators.EqualTo('pwd', message="两次密码输入不一致")
        ],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'form-control'}
    )

    email = html5.EmailField(
        label='邮箱',
        validators=[
            validators.DataRequired(message='邮箱不能为空.'),
            validators.Email(message='邮箱格式错误')
        ],
        widget=widgets.TextInput(input_type='email'),
        render_kw={'class': 'form-control'}
    )

    gender = core.RadioField(
        label='性别',
        choices=(
            (1, '男'),
            (2, '女'),
        ),
        coerce=int
    )
    city = core.SelectField(
        label='城市',
        choices=SQLHelper.fetch_all('select id,name from city',{},None),
        # choices=(
        #     (1, '篮球'),
        #     (2, '足球'),
        # ),
        coerce=int
    )

    hobby = core.SelectMultipleField(
        label='爱好',
        choices=(
            (1, '篮球'),
            (2, '足球'),
        ),
        coerce=int
    )

    favor = core.SelectMultipleField(
        label='喜好',
        choices=(
            (1, '篮球'),
            (2, '足球'),
        ),
        widget=widgets.ListWidget(prefix_label=False),
        option_widget=widgets.CheckboxInput(),
        coerce=int,
        default=[1, 2]
    )
    def __init__(self, *args, **kwargs):
        super(RegisterForm, self).__init__(*args, **kwargs)
        self.city.choices = SQLHelper.fetch_all('select id,name from city',{},None)


    def validate_name(self, field):
        """
        自定义pwd_confirm字段规则,例:与pwd字段是否一致
        :param field:
        :return:
        """
        # 最开始初始化时,self.data中已经有所有的值
        # print(field.data) # 当前name传过来的值
        # print(self.data) # 当前传过来的所有的值:name,gender.....

        obj = SQLHelper.fetch_one('select id from users where name=%s',[field.data,])
        if obj:
            raise validators.ValidationError("用户名已经存在") # 继续后续验证
コード例 #7
0
ファイル: app02.py プロジェクト: IMLaoJI/python_flask
class RegisterForm(Form):
    name = simple.StringField(label='用户名',
                              validators=[validators.DataRequired()],
                              widget=widgets.TextInput(),
                              render_kw={'class': 'form-control'},
                              default='alex')

    pwd = simple.PasswordField(
        label='密码',
        validators=[validators.DataRequired(message='密码不能为空.')],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'form-control'})

    pwd_confirm = simple.PasswordField(
        label='重复密码',
        validators=[
            validators.DataRequired(message='重复密码不能为空.'),
            validators.EqualTo('pwd', message="两次密码输入不一致")
        ],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'form-control'})

    email = html5.EmailField(label='邮箱',
                             validators=[
                                 validators.DataRequired(message='邮箱不能为空.'),
                                 validators.Email(message='邮箱格式错误')
                             ],
                             widget=widgets.TextInput(input_type='email'),
                             render_kw={'class': 'form-control'})

    gender = core.RadioField(
        label='性别',
        choices=(
            (1, '男'),
            (2, '女'),
        ),
        coerce=int  # “1” “2”
    )
    city = core.SelectField(label='城市', choices=(
        ('bj', '北京'),
        ('sh', '上海'),
    ))

    hobby = core.SelectMultipleField(label='爱好',
                                     choices=(
                                         (1, '篮球'),
                                         (2, '足球'),
                                     ),
                                     coerce=int)

    favor = core.SelectMultipleField(
        label='喜好',
        choices=(
            (1, '篮球'),
            (2, '足球'),
        ),
        widget=widgets.ListWidget(prefix_label=False),
        option_widget=widgets.CheckboxInput(),
        coerce=int,
        default=[1, 2])

    def __init__(self, *args, **kwargs):
        super(RegisterForm, self).__init__(*args, **kwargs)
        self.favor.choices = ((1, '篮球'), (2, '足球'), (3, '羽毛球'))

    def validate_pwd_confirm(self, field):
        """
        自定义pwd_confirm字段规则,例:与pwd字段是否一致
        :param field:
        :return:
        """
        # 最开始初始化时,self.data中已经有所有的值

        if field.data != self.data['pwd']:
            # raise validators.ValidationError("密码不一致") # 继续后续验证
            raise validators.StopValidation("密码不一致")  # 不再继续后续验证
コード例 #8
0
ファイル: flask_learn.py プロジェクト: LanceYuan/codepyFlask
class RegisterForm(Form):
    name = simple.StringField(
        label='用户名',
        validators=[validators.DataRequired(message="用户名不能为空")],
        widget=widgets.TextInput(),
        render_kw={'class': 'form-control'},
        default='alex')

    pwd = simple.PasswordField(
        label='密码',
        validators=[validators.DataRequired(message='密码不能为空.')],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'form-control'})

    pwd_confirm = simple.PasswordField(
        label='重复密码',
        validators=[
            validators.DataRequired(message='重复密码不能为空.'),
            validators.EqualTo('pwd', message="两次密码输入不一致")  # 校验密码一致
        ],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'form-control'})

    email = html5.EmailField(label='邮箱',
                             validators=[
                                 validators.DataRequired(message='邮箱不能为空.'),
                                 validators.Email(message='邮箱格式错误')
                             ],
                             widget=widgets.TextInput(input_type='email'),
                             render_kw={'class': 'form-control'})

    gender = core.RadioField(
        label='性别',
        choices=(
            (1, '男'),
            (2, '女'),
        ),
        coerce=int  # int("1") 前端提交数据默认为字符串类型,coerce设置后端接收到后为int.
    )
    city = core.SelectField(label='城市', choices=(
        ('bj', '北京'),
        ('sh', '上海'),
    ))

    hobby = core.SelectMultipleField(label='爱好',
                                     choices=(
                                         (1, '篮球'),
                                         (2, '足球'),
                                     ),
                                     coerce=int)

    favor = core.SelectMultipleField(
        label='喜好',
        choices=(
            (1, '篮球'),
            (2, '足球'),
        ),
        widget=widgets.ListWidget(prefix_label=False),
        option_widget=widgets.CheckboxInput(),
        coerce=int,
        default=[
            1,
        ])
コード例 #9
0
ファイル: app.py プロジェクト: Fover21/notebook
class RegForm(Form):
    username = simple.StringField(
        label="用户名",
        validators=[
            validators.DataRequired(message="不能为空"),
            validators.Length(min=3, max=5, message="不能小于3位,不能大于5位")
        ],
        # widget=widgets.TextInput(),
        render_kw={"class": "my_username"})

    nickname = simple.StringField(
        label="昵称",
        validators=[
            validators.DataRequired(message="不能为空"),
        ],
        # widget=widgets.TextInput(),
        render_kw={"class": "my_username"})

    password = simple.PasswordField(
        label="密码",
        validators=[
            validators.DataRequired(message="不能为空"),
            validators.Length(min=6, max=6, message="密码必须为6位"),
            validators.Regexp(regex="\d+", message="密码必须位数字"),
        ],
        # widget=widgets.TextInput(),
        render_kw={"class": "my_password"})

    repassword = simple.PasswordField(label="重复密码",
                                      validators=[
                                          validators.EqualTo(
                                              fieldname="password",
                                              message="两次密码不一致")
                                      ])

    email = simple.StringField(
        label="昵称",
        validators=[
            validators.Email(message="格式不正确"),
        ],
        # widget=widgets.TextInput(),
        render_kw={"class": "my_username"})

    gender = core.RadioField(label="性别",
                             coerce=int,
                             choices=((1, "女"), (2, "男")),
                             default=1)

    hobby = core.SelectMultipleField(label="爱好",
                                     coerce=int,
                                     choices=(
                                         (1, "小姐姐"),
                                         (2, "小萝莉"),
                                         (3, "小哥哥"),
                                         (4, "小正太"),
                                         (5, "阿姨"),
                                         (6, "大叔"),
                                     ),
                                     default=(1, 2, 5))

    submit = simple.SubmitField(label="提交")
コード例 #10
0
ファイル: exampl2.py プロジェクト: 1751660300/Flask
class RegisterForm(Form):
    name = simple.StringField(label="用户名",
                              validators=[validators.DataRequired()],
                              widget=widgets.TextInput(),
                              render_kw={"class": "form-control"},
                              default="wd")
    pwd = simple.PasswordField(
        label="密码", validators=[validators.DataRequired(message="密码不能为空")])
    pwd_confim = simple.PasswordField(
        label="重复密码",
        validators=[
            validators.DataRequired(message='重复密码不能为空.'),
            validators.EqualTo('pwd', message="两次密码不一致")
        ],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'form-control'})

    #   ========================html5============================
    email = html5.EmailField(  # 注意这里用的是html5.EmailField
        label='邮箱',
        validators=[
            validators.DataRequired(message='邮箱不能为空.'),
            validators.Email(message='邮箱格式错误')
        ],
        widget=widgets.TextInput(input_type='email'),
        render_kw={'class': 'form-control'})

    #   ===================以下是用core来调用的=======================
    gender = core.RadioField(
        label="性别",
        choices=(
            (1, "男"),
            (1, "女"),
        ),
        coerce=int  # 限制是int类型的
    )
    city = core.SelectField(label="城市", choices=(
        ("bj", "北京"),
        ("sh", "上海"),
    ))
    hobby = core.SelectMultipleField(label='爱好',
                                     choices=(
                                         (1, '篮球'),
                                         (2, '足球'),
                                     ),
                                     coerce=int)
    favor = core.SelectMultipleField(
        label="喜好",
        choices=(
            (1, '篮球'),
            (2, '足球'),
        ),
        widget=widgets.ListWidget(prefix_label=False),
        option_widget=widgets.CheckboxInput(),
        coerce=int,
        default=[1, 2])

    def __init__(self, *args, **kwargs):  # 这里的self是一个RegisterForm对象
        '''重写__init__方法'''
        super(RegisterForm, self).__init__(*args, **kwargs)  # 继承父类的init方法
        self.favor.choices = ((1, '篮球'), (2, '足球'), (3, '羽毛球')
                              )  # 把RegisterForm这个类里面的favor重新赋值,实现动态改变复选框中的选项

    def validate_pwd_confim(
        self,
        field,
    ):
        '''
        自定义pwd_config字段规则,例:与pwd字段是否一致
        :param field:
        :return:
        '''
        # 最开始初始化时,self.data中已经有所有的值
        if field.data != self.data['pwd']:
            # raise validators.ValidationError("密码不一致") # 继续后续验证
            raise validators.StopValidation("密码不一致")  # 不再继续后续验证
コード例 #11
0
ファイル: login.py プロジェクト: zxust/rss-parser
class RegFrom(Form):
    username = simple.StringField(
        label="账号",
        validators=[
            validators.DataRequired(message="账号不能为空"),
            validators.Length(min=8, max=16, message="账号长度在8-16位之间")
        ],
        render_kw={"class": "my_username"}
    )

    password = simple.PasswordField(
        label="密码",
        validators=[
            validators.DataRequired(message="密码不能为空"),
            validators.Length(min=6, max=6, message="密码长度为6位"),
            validators.Regexp(regex='\d+', message="密码必须为数字")
        ],
        render_kw={"class": "my_password"}
    )

    re_password = simple.PasswordField(
        label="确认密码",
        validators=[
            validators.EqualTo(fieldname="password", message="两次密码不一致")
        ]
    )

    email = simple.StringField(
        label="邮箱",
        validators=[
            validators.Email(message="格式不正确")
        ],
        render_kw={"class": "my_email"}
    )

    nickname = simple.StringField(
        label="昵称",
        validators=[
            validators.DataRequired(message="密码不能为空"),
        ],
        render_kw={"class": "my_nickname"}
    )

    gender = core.RadioField(
        label="性别",
        coerce=int,
        choices=(
            (1, "M"),
            (2, "F")
        ),
        default=1
    )

    hobby = core.SelectMultipleField(
        label="爱好",
        coerce=int,
        choices=(
            (1, "Apple"),
            (2, "Sumsung"),
            (3, "Mi"),
            (4, "Meizu"),
            (5, "Huawei"),
            (6, "Nubia")
        ),
        default=(1, 2, 3)
    )
コード例 #12
0
class RegisterForm(Form):
    name = StringField(
        label='用户名',
        validators=[
            validators.DataRequired()
        ],
        widget=widgets.TextInput(),
        render_kw={'class': 'models-control'},
        default='用户名'                                           #设置input标签中默认值
    )

    pwd = PasswordField(
        label='密码',
        validators=[
            validators.DataRequired(message='密码不能为空.')
        ],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'models-control'}
    )

    pwd_confirm = PasswordField(                                #第二次输入密码
        label='重复密码',
        validators=[
            validators.DataRequired(message='重复密码不能为空.'),
            validators.EqualTo('pwd', message="两次密码输入不一致")  #验证2次输入的密码是否一致?
        ],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'models-control'}
    )

    email = html5.EmailField(
        label='邮箱',
        validators=[
            validators.DataRequired(message='邮箱不能为空.'),
            validators.Email(message='邮箱格式错误')
        ],
        widget=widgets.TextInput(input_type='email'),    #生成email input标签
        render_kw={'class': 'models-control'}
    )

    gender = core.RadioField(
        label='性别',
        choices=(                                        #choice radio选项
            (1, '男'),
            (2, '女'),
        ),
        coerce=int                                       #讲用户提交过来的 '4' 强制转成 int 4
    )
    city = core.SelectField(
        label='城市',
        choices=(
            ('bj', '北京'),
            ('sh', '上海'),
        )
    )

    hobby = core.SelectMultipleField(                      #select 下拉框多选框
        label='爱好',
        choices=(
            (1, '篮球'),
            (2, '足球'),
        ),
        coerce=int
    )

    favor = core.SelectMultipleField(
        label='喜好',
        choices=(
            (1, '篮球'),
            (2, '足球'),
        ),
        widget=widgets.ListWidget(prefix_label=False),        #生成Checkbox 多选框
        option_widget=widgets.CheckboxInput(),
        coerce=int,
        default=[1,2]
    )

    def __init__(self, *args, **kwargs):                        #重写form验证类的__init__方法可以实时同步数据中数据
        super(RegisterForm, self).__init__(*args, **kwargs)
        self.favor.choices = ((1, '篮球'), (2, '足球'), (3, '羽毛球'))
        self.city.choices=(('bj', '北京'), ('sh', '上海'), ('tj','天津'))


    def validate_pwd_confirm(self, field):                       #wtforms验证 钩子函数
        """
        自定义pwd_confirm字段规则,例:与pwd字段是否一致
        :param field:
        :return:
        """
        # 最开始初始化时,self.data中已经有所有的值

        if field.data != self.data['pwd']:
            # raise validators.ValidationError("密码不一致") # 继续后续验证
            raise validators.StopValidation("密码不一致")  # 不再继续后续验证
コード例 #13
0
ファイル: register.py プロジェクト: 2267770481/flask
class RegisterForm(FlaskForm):
    username = simple.StringField(
        label="用户名",
        validators=[
            validators.DataRequired(
                message="用户名不能为空")  # 必填项检查 message 为返回的错误内容
        ],
        widget=widgets.TextInput(),
        render_kw={"class": "form-control"},
        default="wd")
    password = simple.PasswordField(
        label="密码",
        validators=[
            validators.DataRequired(message="密码不能为空"),
            validators.length(6, 10, message='密码长度为6~10位'),
            # Regexp(r'')   # 写正则
        ])
    pwd_confim = simple.PasswordField(
        label="重复密码",
        validators=[
            validators.DataRequired(message='重复密码不能为空.'),
            validators.EqualTo('password', message="两次密码不一致")  # 相等校验
        ],
        widget=widgets.PasswordInput(),
        render_kw={'class': 'form-control'})
    mail = html5.EmailField(  # 注意这里用的是html5.EmailField
        label='邮箱',
        validators=[
            validators.DataRequired(message='邮箱不能为空.'),
            validators.Email(message='邮箱格式错误')
        ],
        widget=widgets.TextInput(input_type='email'),
        render_kw={'class': 'form-control'})

    gender = core.RadioField(
        label="性别",
        choices=(
            (1, "男"),
            (1, "女"),
        ),
        coerce=int  # 限制是int类型的
    )
    city = core.SelectField(label="城市", choices=(
        ("bj", "北京"),
        ("sh", "上海"),
    ))
    hobby = core.SelectMultipleField(label='爱好',
                                     choices=(
                                         (1, '篮球'),
                                         (2, '足球'),
                                     ),
                                     coerce=int)
    favor = core.SelectMultipleField(
        label="喜好",
        choices=(
            (1, '篮球'),
            (2, '足球'),
        ),
        widget=widgets.ListWidget(prefix_label=False),
        option_widget=widgets.CheckboxInput(),
        coerce=int,
        default=[1, 2])

    # submit = simple.SubmitField(
    #     label="提交",
    #     render_kw={
    #         "class": "btn btn-primary btn-block",
    #     },
    # )

    def __init__(self, *args, **kwargs):  # 动态更行字段的值(可以从数据库中查到数据并赋值)
        '''重写__init__方法'''
        super(RegisterForm, self).__init__(*args, **kwargs)
        self.favor.choices = ((1, '篮球'), (2, '足球'), (3, '羽毛球')
                              )  # 把RegisterForm这个类里面的favor重新赋值,实现动态改变复选框中的选项