WTForms SelectField 中的自定义选项基于当前日期
Custom choices in WTForms SelectField bsed on current date
我想创建一个自定义 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')])
覆盖表单的 __init__
方法并使用从 1 到当天的值范围填充字段的 choices
。
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)]
我想创建一个自定义 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')])
覆盖表单的 __init__
方法并使用从 1 到当天的值范围填充字段的 choices
。
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)]