DJANGO:更改 ModelMultipleChoiceField 的字段大小?
Posted
技术标签:
【中文标题】DJANGO:更改 ModelMultipleChoiceField 的字段大小?【英文标题】:DJANGO: Change field size of ModelMultipleChoiceField? 【发布时间】:2012-05-22 05:30:10 【问题描述】:我想知道如何更改 ModelMultipleChoiceField 的大小?我只见过将 CharField 更改为 Textarea 的示例……这可能吗?
模型.PY
class FilterForm(forms.Form):
Person = forms.ModelMultipleChoiceField(required=False, queryset=Person.objects.all(), attrs='cols': 50, 'rows': 10)
【问题讨论】:
【参考方案1】:试试这个:
from django.forms import widgets
class FilterForm(forms.Form):
Person = forms.ModelMultipleChoiceField(required=False, queryset=Person.objects.all(), widget=widgets.SelectMultiple(attrs='size': 20))
【讨论】:
这是迄今为止最好的答案。如果表单是通过模型定义的,请使用attrs='form-control','size': 20
【参考方案2】:
覆盖表单的__init__
方法并添加:
self.fields['Person'].widget.attrs['size']='10'
【讨论】:
【参考方案3】:您可以通过将 CSS 应用于 Django 创建的 <select>
元素来更改小部件的宽度和高度。
【讨论】:
以上是关于DJANGO:更改 ModelMultipleChoiceField 的字段大小?的主要内容,如果未能解决你的问题,请参考以下文章