5

我正在 Django 中制作自定义管理页面。我不想重新发明轮子,因此想使用 Django 管理员登录表单让员工登录,然后将他们重定向到 /my-url/。

但是,在 /admin/ 成功登录后,我找不到将用户重定向到自定义 url 的方法。

4

4 回答 4

8

我遇到过同样的问题。我没有在登录后重定向,而是在我的视图中使用了@staff_member_required 装饰器,该装饰器/my-url/重定向到管理员登录

from django.contrib.admin.views.decorators import staff_member_required

@staff_member_required
def test_list(request):
    return HttpResponse('TEST')

如果使用基于类的视图,请查看method_decorator

于 2012-10-02T10:17:34.027 回答
8

因为我偶然发现了同样的问题,所以我注意到了默认登录页面的 url:

/admin/login/?next=/admin/

所以我将登录页面链接更改为

/admin/login/?next=/ 

指向主页

也适用于注销页面,很好很简单

于 2019-01-29T16:57:34.823 回答
3

Django auth 应用程序带有一个登录视图,您可以连接到该视图/accounts/login/或您选择的任何其他 url。admin/login.html如果您不想自己编写,您可以使用管理员的登录模板。

通过使用登录视图,该LOGIN_REDIRECT_URL参数将起作用。该/admin/页面的目的是显示管理索引。我会避免尝试将其用作登录页面。

于 2012-06-14T16:11:07.740 回答
1

LOGIN_REDIRECT_URL在你的settings.py文件中设置。记录在这里

于 2012-06-14T15:24:59.213 回答