当前日期在WTForms SelectField中的自定义选择

Joh*_*han 1 python flask wtforms

我想创建一个SelectField基于当前日期提供不同选择的自定义。例如,如果是每月的13号,则选择的值将是1到13。我该如何做?

def register_extensions(app):
    security.init_app(app, datastore=ds, register_form=forms.ExtendedRegisterForm)

class ExtendedRegisterForm(RegisterForm):
    pay_month = SelectField(choices=[('need', 'custom'), ('day', 'choices')])
Run Code Online (Sandbox Code Playgroud)

dav*_*ism 5

覆盖表单的__init__方法,并choices使用从1到当前日期的值范围填充字段。

from datetime import datetime

class ExtendedRegisterForm(RegisterForm):
    pay_month = SelectField()

    def __init__(self, *args, **kwargs):
        super(ExtendedRegsiterForm, self).__init__(*args, **kwargs)
        now = datetime.utcnow()
        self.pay_month.choices = [(i, i) for i in range(1, now.day + 1)]
Run Code Online (Sandbox Code Playgroud)