我最近将一个项目从Django 1.11升级到2.2,同时将所有必需的软件包和python 3.5升级到3.7。我已经解决了所有需要更改以升级到2.2 django的问题。
其他软件包中,我还已将django-crispy-forms从1.6升级到1.9,以与Django 2.2兼容。
我面临的问题是,我在项目中以所有易碎形式使用的SplitDateTimeWidget无法正确显示。它没有使用bootstrap3样式,如下所示:
升级时是否还有其他人遇到此问题,并且有什么解决方法?
谢谢!
我想出了问题,如果有人遇到同样的情况。
新版本在输入字段上没有包含类“ 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)
并且现在可以正常工作。