【问题标题】:In Django, how do I mimic the two-step method of adding users through the admin for my own models?在 Django 中,我如何模仿通过管理员为我自己的模型添加用户的两步方法?
【发布时间】:2010-09-13 13:44:05
【问题描述】:

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

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    我终于设法找到了 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 源中挖掘出来。

    【讨论】:

    • 完美!我现在不得不用另一种方式解决它,但现在我知道下次我什么时候需要它!
    • 您最终使用过这个解决方案吗?我正在为自己的项目寻找一个可行的示例(请参阅this question),但我不够专业,无法自己解决。
    猜你喜欢
    • 2011-05-11
    • 2011-11-17
    • 2019-01-10
    • 2011-01-14
    • 2021-12-20
    • 1970-01-01
    • 2020-04-07
    • 2013-06-01
    • 2023-03-08
    相关资源
    最近更新 更多