在Django中,我如何模仿通过管理员为我自己的模型添加用户的两步方法?

Jen*_*Alm 7 django django-admin

我有一个模型,我想制作一个自定义管理员change_form,模仿股票Django管理界面的添加用户功能的行为.也就是说,我想要一个两步操作,用户首先只输入一个设备ID,然后转到他可以在设备上输入信息的页面.与您首次在用户上输入用户名和密码的方式类似,然后在下一页上填写其他信息.有任何想法吗?

Dze*_*kob 7

我终于设法找到django是如何做到的.有一种response_add方法在内部重新定义ModelAdmin.以下是django源中用户模型的链接: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)
Run Code Online (Sandbox Code Playgroud)

如果您将此方法添加到您的ModelAdmin类,那么它应该类似地工作.

这仅涵盖了管理面板中的两步保存过程,但其他功能如在第二步中向表单添加额外字段也可以在django源中挖掘出来.