将Django 1.11升级到2.2-表单存在麻烦

问题描述 投票:0回答:1

我最近将一个项目从Django 1.11升级到2.2,同时将所有必需的软件包和python 3.5升级到3.7。我已经解决了所有需要更改以升级到2.2 django的问题。

其他软件包中,我还已将django-crispy-forms1.6升级到1.9,以与Django 2.2兼容。

我面临的问题是,我在项目中以所有易碎形式使用的SplitDateTimeWidget无法正确显示。它没有使用bootstrap3样式,如下所示:crispy forms and djnago split date time widget

升级时是否还有其他人遇到此问题,并且有什么解决方法?

谢谢!

django django-crispy-forms django-2.2
1个回答
0
投票

我想出了问题,如果有人遇到同样的情况。

新版本在输入字段上没有包含类“ form-control”]。我将小部件更改为:

class TimepieceSplitDateTimeWidget(forms.SplitDateTimeWidget):

def __init__(self, *args, **kwargs):
    kwargs.setdefault('date_format', DATE_FORM_FORMAT)
    kwargs['attrs'] = {'class': 'form-control',}  # ADDED THIS
    super(TimepieceSplitDateTimeWidget, self).__init__(*args, **kwargs)

并且现在可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.