Python WTForms SelectField bsed中的自定义选项在当前日期生效

Python WTForms SelectField bsed中的自定义选项在当前日期生效,python,flask,wtforms,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

我想创建一个自定义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')])
重写表单的_uinit_uu方法,并使用从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)]
重写表单的_uinit_uu方法,并使用从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)]

找到了一个更简单的方法:pay_month=SelectField's 2nd pay Day of month',choices=[idx,dt for idx,dt in enumeratedatetime.datetime.today-datetime.timedeltadays=y.date.strftime''%B-%d'for y in rangedatetime.datetime.today.Day]找到了一个更简单的方法:pay_month=SelectField's of month's,choices'=[idx,idx的dt,enumeratedatetime.datetime.today中的dt-datetime.timedeltadays=y.date.strftime“%B-%d”对于rangedatetime.datetime.today.day中的y]