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 的字段大小?的主要内容,如果未能解决你的问题,请参考以下文章

响应 Django 中的模型更改?

Django迁移更改目录结构后未检测到更改

如果我更改 django 应用程序名称会出现啥问题?

我无法更改主 Django 项目设置文件

DJANGO:更改 ModelMultipleChoiceField 的字段大小?

更改 PostgreSQL 服务器更改了 Django 应用程序特征