小编sec*_*119的帖子

wtforms表单类子类和字段顺序

我有一个UserForm类:

class UserForm(Form):
    first_name = TextField(u'First name', [validators.Required()])
    last_name = TextField(u'Last name', [validators.Required()])
    middle_name = TextField(u'Middle name', [validators.Required()])
    username = TextField(u'Username', [validators.Required()])
    password = TextField(u'Password', [validators.Required()], widget=PasswordInput())
    email = TextField(u'Email', [validators.Optional(), validators.Email()])
Run Code Online (Sandbox Code Playgroud)

并希望在UpdateUserForm中使密码字段成为可选:

class UpdateUserForm(UserForm):
    password = TextField(u'Password', [validators.Optional()], widget=PasswordInput())
Run Code Online (Sandbox Code Playgroud)

但密码字段位于电子邮件字段之后,而不是之前.

如何在子类化时保留字段顺序?

此外,当我尝试更改密码字段验证器时它不起作用 - 密码仍然是必需的:/为什么?

class UpdateUserForm(UserForm):
    def __init__(self, **kwargs):
        self.password.validators = [validators.Optional()]
        super(UpdateUserForm, self).__init__(**kwargs)
Run Code Online (Sandbox Code Playgroud)

要么

class UpdateUserForm(UserForm):
    def __init__(self, **kwargs):
        self.password = TextField(u'Password', [validators.Optional()], widget=PasswordInput())
        super(UpdateUserForm, self).__init__(**kwargs)
Run Code Online (Sandbox Code Playgroud)

一些想法......

class UpdateUserForm(UserForm):
    def __init__(self, formdata=None, obj=None, prefix='', **kwargs):
        self._unbound_fields[4][1] = TextField(u'Password', …
Run Code Online (Sandbox Code Playgroud)

python subclassing wtforms

15
推荐指数
2
解决办法
7158
查看次数

eclipse,pydev,easy_install-ed egg问题

我有一个问题,eclipse和easy_install'ed包进入virtualenv.如果我有

from sqlalchemy.ext.serializer import loads 
Run Code Online (Sandbox Code Playgroud)

import语句并将鼠标光标放在"load"上我收到消息

loads Found at: __module_not_in_the_pythonpath__ 
Run Code Online (Sandbox Code Playgroud)

PYTHONPATH我没有手动将它添加到Project properties -> PyDev - PYTHONPATH -> External Libraries:/喜欢~/Work/Environments/Default/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg或任何其他鸡蛋pkg目录... ~/Work/Environments/Default/lib/python2.6/site-packages/它添加任何模块重复但是日食不能看到里面的任何鸡蛋!

Python解释器设置为 ~/Work/Environments/Default/bin/python2.6

我使用eclipse-SDK-3.7M5-linux-gtk和最新的PyDev.

有人可以帮助我吗?

python eclipse

5
推荐指数
1
解决办法
5236
查看次数

标签 统计

python ×2

eclipse ×1

subclassing ×1

wtforms ×1