未提供项目说明

wtforms-field-factor的Python项目详细描述


wtforms现场工厂

在表单构造时动态创建字段。在

为什么?在

例如,根据请求翻译字段标签,而不依赖全局状态。 此外,还可以有条件地排除字段。这避免了在诸如。 具有在单元测试期间不相关或不可行的表单字段。在

怎么做的?在

让我们看一个用例,其中字段标签必须根据请求的区域设置而更改:

fromgettextimporttranslationfromtypingimportListfromwtforms_field_factoryimportfield,Form,DefaultMetafromwtformsimportStringFieldclassMyMeta(DefaultMeta):def__init__(self,ordered_locales:List[str]):self.ordered_locales=ordered_locales@propertydeflocales(self):# translate messages within wtforms depending on the request's locale(s)returnself.ordered_localesclassMyBaseForm(Form):def__init__(self,ordered_locales:List[str],**kwargs):self.ordered_locales=ordered_localessuper().__init__(meta=MyMeta(ordered_locales),**kwargs)@field(name="name")defname_field(self):_=translation("default",languages=self.ordered_locales)returnStringField(label=_("Name"))

上面的示例不仅转换name字段的标签,还转换内部wtforms消息 例如字段错误。在

在外部函数负责创建字段的情况下(有助于重用字段 工厂)或如果您想预计算某些对象(例如gnutransflations对象),则 可以执行以下操作:

^{pr2}$

只要用你觉得最好的方法。在这里没有一个正确的方法来实现你的目标。 重要的一点是,你现在有了一个明确的合同,不依赖全球政府。在

贡献

在提交之前,请运行以下命令并检查是否成功:

pip install --user -r requirements-dev.txt &&\
black wtforms_field_factory.py &&\
pylint wtforms_field_factory.py &&\
pytest &&\
coverage report --fail-under=100

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
来自偏移量的java JavaPairInputStream流   gzip Java TarInputStream读取tar的文件名。包含另一个tar的gz文件。gz文件   如何在Linux shell脚本中确定和使用实际的java路径   java请求太多FirebaseError   java错误json解析   java在localserver上发送安卓应用程序的输出   JavaSpring:启动和停止webapplication时更新DBtable条目   java如何使用JavaFX在矩形处设置文本?   java SQL查询在Hibernate中出现异常   java我无法使用javamail代码通过outlook(hotmail帐户)配置发送邮件,但在gmail中工作正常   java是不同的持久性。测试运行/JPA装置的xml属性   无头Eclipse的java导出战   使用ContentVersionStrategy的java Spring引导缓存禁止使用gzip进行资源压缩   java如何获取计算机的设备令牌?   图像文件的java ImageInfo不包含有效值   继承强制在Java中使用基类方法