我创建了模型,我从模型中创建了ModelForms
。但是,我注意到ModelForm
生成的小部件与我在管理页面中的小部件不同。
我怎么能:
获取与管理页面中的窗口小部件相同的窗口小部件。那些很棒。外键字段带有“加号”图标,可让您添加被引用的新项目。
日期时间窗口小部件具有“现在”按钮,可让您立即使用当前时间填充字段。
小部件还有其他很酷的插件吗?到目前为止,我得到的只是meh,只是简单的html小部件即使像Datetime这样的字段也没有意义(它生成普通的普通输入控件)。
答案 0 :(得分:5)
你应该看看django / contrib / admin / widgets.py你会在这里找到管理站点小部件。然后以你的形式,做出类似的东西:
from django.contrib.admin.widgets import AdminDateWidget
class MyForm(ModelForm):
class Meta:
widgets = {
'date': AdminDateWidget(),
}
确保您的模板包含所需的媒体文件(css,js)
如果你想要更好的小部件,我还建议你看django-floppyforms这是一个非常好的库