【问题标题】:flask WTForm: "working outside of application context"flask WTForm:“在应用程序上下文之外工作”
【发布时间】:2020-10-13 19:16:27
【问题描述】:

我正在尝试从包含翻译的 JSON 文件中提取 Select 字段的值。问题是get_locale()函数导致的,只能在'context'内调用。

这是表单选择字段:

brand = SelectField(choices=generate_brands(get_locale()),validators=[Optional()])

有没有办法只在请求变量可用时在视图内部调用时才加载此特定字段?

【问题讨论】:

    标签: python flask


    【解决方案1】:

    如果我很好理解,您希望根据用户的语言填充 SelectField。有几种方法可以使用动态 SelectField,请参阅 Oleg 的回答以获取一个很好的示例:https://stackoverflow.com/a/48236887/11405279

    【讨论】:

    • 创建请求上下文并不能解决这里的问题,因为在这种情况下,get_locale() 函数将返回 None 意味着它将返回默认语言环境。
    • 如果前者不可用,您是否知道延迟加载单个字段或整个表单的方法? @JBLaf
    • 我改变了答案,因为我首先误解了想要的东西。谷歌搜索你想要的一些好的关键字是:动态 SelectField
    猜你喜欢
    • 2016-03-11
    • 2016-07-12
    • 1970-01-01
    • 2022-10-06
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 2018-11-08
    相关资源
    最近更新 更多