我正在 Django 中制作自定义管理页面。我不想重新发明轮子,因此想使用 Django 管理员登录表单让员工登录,然后将他们重定向到 /my-url/。
但是,在 /admin/ 成功登录后,我找不到将用户重定向到自定义 url 的方法。
我正在 Django 中制作自定义管理页面。我不想重新发明轮子,因此想使用 Django 管理员登录表单让员工登录,然后将他们重定向到 /my-url/。
但是,在 /admin/ 成功登录后,我找不到将用户重定向到自定义 url 的方法。
我遇到过同样的问题。我没有在登录后重定向,而是在我的视图中使用了@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
因为我偶然发现了同样的问题,所以我注意到了默认登录页面的 url:
/admin/login/?next=/admin/
所以我将登录页面链接更改为
/admin/login/?next=/
指向主页
也适用于注销页面,很好很简单
Django auth 应用程序带有一个登录视图,您可以连接到该视图/accounts/login/
或您选择的任何其他 url。admin/login.html
如果您不想自己编写,您可以使用管理员的登录模板。
通过使用登录视图,该LOGIN_REDIRECT_URL
参数将起作用。该/admin/
页面的目的是显示管理索引。我会避免尝试将其用作登录页面。
LOGIN_REDIRECT_URL
在你的settings.py
文件中设置。记录在这里。