1

我想将一个字段(名为“图标”)显示为单选按钮。

我创建了回调方法以使用 JQuery 显示 DateTimeFields。下面的代码应该这样做,但是当我运行我的服务器时出现此错误:

调用元类库时出错 make_custom_datefield() 得到了意外的关键字参数“小部件”

...

异常位置:fields_for_model 中的 Virtualenvs/django/local/lib/python2.7/site-packages/django/forms/models.py,第 164 行

表格.py:

def make_custom_datefield(f):
    formfield = f.formfield()
    if isinstance(f, DateTimeField):
        formfield.widget.format = '%m/%d/%Y'
        formfield.widget.attrs.update({'class':'datetimePicker', 'readonly':'true'})
    return formfield

class FlashForm(forms.ModelForm):
    formfield_callback = make_custom_datefield

    class Meta:
        model = Flash
        exclude=('user','marker','address')
        widgets = {'icon': forms.RadioSelect(), }

你能帮帮我吗,我真的不知道如何解决这个问题!

谢谢

4

1 回答 1

3

最终,我找到了答案:我必须添加 **kwargs 参数。

def make_custom_datefield(f,**kwargs):
    formfield = f.formfield(**kwargs)
    if isinstance(f, DateTimeField):
        formfield.widget.format = '%m/%d/%Y'
        formfield.widget.attrs.update({'class':'datetimePicker', 'readonly':'true'})
    return formfield
于 2013-01-15T20:14:25.463 回答