【发布时间】:2010-09-13 13:44:05
【问题描述】:
我有一个模型,我想在其中制作一个自定义管理员 change_form 来模仿股票 Django 管理界面的添加用户功能的行为。也就是说,我想要一个两步操作,用户首先只输入一个设备 ID,然后被带到一个可以在设备上输入信息的页面。类似于您首先在用户上输入用户名和密码,然后在下一页填写其他信息。有什么想法吗?
【问题讨论】:
标签: django django-admin
我有一个模型,我想在其中制作一个自定义管理员 change_form 来模仿股票 Django 管理界面的添加用户功能的行为。也就是说,我想要一个两步操作,用户首先只输入一个设备 ID,然后被带到一个可以在设备上输入信息的页面。类似于您首先在用户上输入用户名和密码,然后在下一页填写其他信息。有什么想法吗?
【问题讨论】:
标签: django django-admin
我终于设法找到了 django 是如何做到的。在正确的ModelAdmin 中重新定义了一个response_add 方法。这是 django 源中 User 模型的链接:django.contrib.auth.admin.py。它看起来像这样:
def response_add(self, request, obj, post_url_continue='../%s/'):
if '_addanother' not in request.POST and '_popup' not in request.POST:
request.POST['_continue'] = 1
return super(UserAdmin, self).response_add(request, obj, post_url_continue)
如果您将此方法添加到您的 ModelAdmin 类中,那么它应该可以类似地工作。
这仅涵盖管理面板中的两步保存过程,但其他功能,例如在第二步中向表单添加额外字段也可以在 django 源中挖掘出来。
【讨论】: