程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 Django 中向 ChoiceField 添加占位符?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 Django 中向 ChoiceField 添加占位符??

开发过程中遇到在 Django 中向 ChoiceField 添加占位符?的问题如何解决?下面主要结合日常开发的经验,给出你关于在 Django 中向 ChoiceField 添加占位符?的解决方法建议,希望对你解决在 Django 中向 ChoiceField 添加占位符?有所启发或帮助;

在我的 forms.py 中,我定义了一个简单的表单类:

SAMPLE_StriNGS = ['aa','ab','bb','c0']

class InDicatorForm(forms.Form):
    chosen_number = forms.IntegerFIEld(label='Please SELEct a value')
    chosen_String = forms.ChoiceFIEld(choices=SAMPLE_StriNGS,label='Please SELEct a String',required=TruE)

我想为两个字段添加一个占位符。对于第一个,很简单:

chosen_number = forms.IntegerFIEld(label='Please SELEct a value',Widget=forms.numberinput(attrs={'placeholder': 0}))

但是对于ChoiceFIEld,我没有任何运气。我尝试使用 Widget=forms.TexTinput(attrs=...) 但这会删除选项并将字段转换为简单的文本字段。 Widget=forms.ChoiceinputWidget=forms.ChoiceFIEld 也不起作用。

如何向我的 ChoiceFIEld 添加一个显示“选择...”的占位符?

解决方法

对于 @H_835_5@modelChoiceField Django 会自动执行此操作并为您提供可选的覆盖参数 empty_label

对于 ChoiceField,您必须手动添加空标签。如果您想要相同的默认空标签,我们可以通过 copying what Django does 插入:

from django.db.models.fields import BLANK_CHOICE_DASH

...

chosen_String = forms.ChoiceField(choices=BLANK_CHOICE_DASH + SAMPLE_StriNGS,label='Please SELEct a String',required=TruE)

对于自定义空标签,您只需在 SAMPLE_StriNGS 列表中添加一个二元组:

SAMPLE_StriNGS = [('','My empty label'),'aa','ab','bb','c0']

二元组确保生成的 value="" 中的 <option>

大佬总结

以上是大佬教程为你收集整理的在 Django 中向 ChoiceField 添加占位符?全部内容,希望文章能够帮你解决在 Django 中向 ChoiceField 添加占位符?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。