首页 文章

Django Forms - 如何更改字段中的属性?

提问于
浏览
-1

Django表单功能为我的表单字段生成html代码 .

我想更改一些属性或为该表单中的特定字段添加一些属性 .

例如,我想为字段指定一个类 .

我怎样才能做到这一点?

我读了一个答案,我可以这样做:

city = forms.CharField(widget=forms.TextInput(attrs={'class':'anyclass'}))

但我得到一个错误,attrs不存在或未定义...

UPDATE

这是我的forms.py

来自django的导入表单来自HelloUprise.models的导入目标来自django.contrib.auth.models import User

class GoalForm(forms.ModelForm):
    deadline = forms.DateField(widget=forms.DateField(attrs={'class': 'form-control'}))


class Meta:
    model=Goal
    fields = ['goal', 'description', 'deadline', 'priority']

这是错误:

TypeError at /
__init__() got an unexpected keyword argument 'attrs'

Traceback 切换到复制并粘贴视图

get_response中的C:\ Python27 \ lib \ site-packages \ django \ core \ handlers \ base.py resolver_match = resolver.resolve(request.path_info)...▶本地变量C:\ Python27 \ lib \ site-packages \ django \ core \ urlresolvers.py解析self.url_patterns中的模式:...▶url_patterns模式中的本地变量C:\ Python27 \ lib \ site-packages \ django \ core \ urlresolvers.py = getattr(self.urlconf_module,"urlpatterns" ,self.urlconf_module)...▶urlconf_module中的本地变量C:\ Python27 \ lib \ site-packages \ django \ core \ urlresolvers.py self._urlconf_module = import_module(self.urlconf_name)...▶本地变量C:\ import_module import (name)中的Python27 \ lib \ site-packages \ django \ utils \ importlib.py ...▶url中的本地变量C:\ Users \ Barosan \ Documents \ GitHub \ uprisedev \ UpriseApplication \ UpriseApplication \ urls.py( r '^',include('HelloUprise.urls')),...▶本地变量C:\ Python27 \ lib \ site-packages \ django \ conf \ urls__init __ . py in include urlconf_module = import_module(urlconf_module)...▶Local vars C:\ Python27 \ LIB \定点import_module import (name)中的packages \ django \ utils \ importlib.py ...▶来自HelloUprise导入视图的本地变量C:\ Users \ Barosan \ Documents \ GitHub \ uprisedev \ UpriseApplication \ HelloUprise \ urls.py ...▶来自HelloUprise.forms的本地变量C:\ Users \ Barosan \ Documents \ GitHub \ uprisedev \ UpriseApplication \ HelloUprise \ views.py导入GoalForm ...▶本地变量C:\ Users \ Barosan \ Documents \ GitHub \ uprisedev \ UpriseApplication \ GoalForm类中的HelloUprise \ forms.py(forms.ModelForm):...▶在GoalForm截止日期= Forms.DateField(widget =)中的本地变量C:\ Users \ Barosan \ Documents \ GitHub \ uprisedev \ UpriseApplication \ HelloUprise \ forms.py forms.DateField(attrs = {'class':'form-control'}))...▶在 init super(BaseTemporalField,self)中的本地变量C:\ Python27 \ lib \ site-packages \ django \ forms \ fields.py . init (* args,** kwargs)......▶当地的变种

1 回答

  • 1

    你没有完成你在示例中显示的内容 . 您尝试传递该字段的另一个实例,而不是使用窗口小部件 . 如错误所示,这不起作用 .

    它应该是:

    deadline = forms.DateField(widget=forms.DateInput(attrs={'class': 'form-control'}))
    

    注意使用 DateInput 而不是 DateField .

相关问题