Django-通过管理员定义下一页

时间:2019-01-18 03:33:58

标签: django django-views

是否可以将用户从管理仪表板引导回到上一页?

我有一个“编辑”按钮,由于能够编辑数据的“用户”足够精明,所以我宁愿直接将其转到管理员的更改页面。

这是我的链接:

<td><a href="/admin/inv/lifesafety/{{life.pk}}/change/?next=/stores/{{store.pk}}" target="_blank"><i class="icon ion-md-create"></i></a></td>

从管理员那里使用?next=似乎无效。现在,我只是在另一个选项卡中打开它,但我至少想知道是否存在直接限制,或者在与管理员交互时是否还有更多限制。

这是一个例子:

  • 用户转到/ stores / 1617 /
  • 用户单击“编辑”
  • “编辑”将其定向到/ admin / inv / lifesafety / 1617 / change /?next = / stores / 1617
  • 用户提交表单后,将其定向回/ stores / 1617

1 个答案:

答案 0 :(得分:1)

没有内置方法可以执行此操作,但是您可以通过重写LifeSafety admin类的response_change方法来完成此操作。

from django.shortcuts import redirect

class LifeSafetyAdmin(admin.ModelAdmin):
    def response_change(self, request, obj):
        next = request.GET.get('next')
        if next:
            return redirect(next)
        return super().response_change(request, obj)