Django 1.11中SelectDateWidget的空选项配置问题咨询
嘿,关于Django 1.11里SelectDateWidget的空选项设置,我整理了准确的用法细节,帮你搞定这个问题:
Django 1.11中SelectDateWidget的空选项说明
默认行为
如果你的DateField设置为非必填(也就是blank=True),SelectDateWidget生成的年、月、日三个下拉选择框顶部,会默认显示---作为空选项,提示用户可以不选择日期。
自定义空选项文本
你可以通过empty_label属性来修改这个默认的空选项文本,它支持两种类型的参数:
- 统一设置所有选择框:传入一个字符串时,三个选择框的空选项都会使用这个文本。示例代码如下:
from django import forms from django.forms.widgets import SelectDateWidget class MyCustomForm(forms.Form): event_date = forms.DateField( required=False, widget=SelectDateWidget(empty_label="请选择") )
这样年、月、日的下拉框顶部都会显示“请选择”。
- 单独设置每个选择框:传入包含3个字符串的列表或元组(顺序对应年、月、日),就能给每个选择框单独定义空选项文本。示例:
widget=SelectDateWidget(empty_label=("选择年份", "选择月份", "选择日期"))
此时年份下拉框的空选项是“选择年份”,月份是“选择月份”,日期是“选择日期”。
注意事项
如果你的DateField是必填状态(默认required=True),SelectDateWidget不会显示任何空选项,用户必须选择一个有效的日期才能提交表单。
内容的提问来源于stack exchange,提问作者apiljic
相关产品推荐
相关产品推荐

