带管理小部件的Django ModelForm

Hai*_*uha 3 python django django-admin web

我创建了模型并从模型中创建ModelForms.但是,我注意到ModelForm当我在Admin页面中时,从它生成的小部件与小部件不同.

我怎么能够:

  1. 获取与管理页面中的小部件相同的小部件.那些很棒.外键字段带有"加号"图标,可让您添加被引用的新项目.

  2. 日期时间窗口小部件具有"现在"按钮,使您可以使用当前时间立即填充字段.

  3. 小部件还有其他很酷的插件吗?到目前为止,我得到的只是meh,只是简单的html小部件即使对于像Datetime这样的字段也没有意义(它生成普通的普通输入控件).

luc*_*luc 5

你应该看看django/contrib/admin/widgets.py你会在这里找到管理站点小部件.然后在你的形式,做一些像:

from django.contrib.admin.widgets import AdminDateWidget

class MyForm(ModelForm):

    class Meta:
        widgets = {
            'date': AdminDateWidget(),
        }
Run Code Online (Sandbox Code Playgroud)

确保您的模板包含所需的媒体文件(css,js)

我还建议你看看django-floppyforms,如果你想要更好的小部件,这是一个非常好的库