python - Flask、MongoEngine、Wtforms - 正确呈现密码字段和日期时间字段

标签 python flask mongoengine wtforms

所以我使用 MongoEngine、Flask 和 WTForms 组合了一个简单的网络应用程序,我得到了一个如下所示的用户模型:

class User(db.document):
    username = db.StringField(max_length=64)
    password = db.StringField(max_length=64)
    date_joined = db.DateTimeField(default=datetime.datetime.now)

现在,当我使用 MongoEngine 的 model_form()(来自 flask.ext.mongoengine.wtf)创建一个表单,然后在模板中呈现它时,密码属性上的 DateTimeField 和 StringField() 都呈现为简单的文本输入字段。

我如何让它们呈现为日历小部件(就像 Django 所做的那样)和一个实际上隐藏密码的密码字段,而无需自定义编写我自己的表单?

最佳答案

这有点老了,但在寻找这个问题时它在谷歌上的排名也很高。

我深入研究了 flask-MongoEngine 库(特别是 here )并找到了执行此操作的方法。有一个选项可以传入“field_args”字典,帮助修改字段从模型中生成的方式。

我遇到了完全相同的问题,但是像这样使用 model_form 是可行的:

form_cls = model_form(User, only=['username', 'password'], field_args={'password': {'password':True}})

如果您深入了解该链接中的文件,还有一些其他字段也可以更改。

关于python - Flask、MongoEngine、Wtforms - 正确呈现密码字段和日期时间字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22867713/

相关文章:

python - 谷歌 OAuth 与 Django

python - 在蓝图上注册路由引发 AttributeError : 'function' object has no attribute 'route'

Flask-SqlAlchemy - 与列 ‘ ’ 关联的外键找不到表

python - 如何在 Flask 程序中获取 mongoengine 对象 ID

django - 在 MongoEngine + Django 中添加数据

python - paramiko立即打印exec_command结果

python - Pandas 升级安装失败

javascript - 使用selenium和Python在iframe内显示图像的src

python - 在 flask-restful add_resource() 中接受多个参数

django - Mongoengine 检查 ListField() 中是否包含整个不区分大小写的字符串