CreateView 中的 DatepickerWidget

spi*_*amy 5 django jquery-ui-datepicker django-class-based-views

在我的模型中,我有一个日期字段。所以我想使用日期选择器。如何使用 Django-Admin 日期选择器?

我已经找到了在表单中执行此操作的示例,但我只设计了一个模型。是否可以在我的模型中定义这个小部件?

mar*_*dev 3

您可以使用get_form方法来覆盖小部件属性:

class MyCreateView(CreateView):
    def get_form(self, form_class):
        form = super(MyCreateView, self).get_form(form_class)
        form.fields['date_field'].widget.attrs.update({'class': 'datepicker'})
        return form
Run Code Online (Sandbox Code Playgroud)

  • 对于django 1.10,get_form的form_class接受默认的None,因此可以跳过。[参考](https://github.com/django/django/blob/711123e1cdaf3b08c876c045d8d38decdc7a63d3/django/views/generic/edit.py#L30)。另外,要完全覆盖小部件,而不是仅仅更新 html 类属性,请使用“form.fields['field_name'].widget = SomeNewWidget” (2认同)