Django奇怪的管理员登录重定向

时间:2014-02-12 22:11:09

标签: python django redirect django-admin django-views

我在django admin中遇到了奇怪的事情。我为我的管理员设计了一个文件浏览器。在我的文件浏览器视图中,我检查用户是否为admin然后呈现我的文件浏览器模板,否则重定向到管理员登录。到目前为止,evrything工作正常,但是当我输入用户名,密码并按下“登录”按钮时,“登录”按钮会将我重定向到不存在的mysite.com/admin/admin/页面。这是我的文件浏览器视图和网址代码的一部分。

# urls.py
urlpatterns = patterns(
    '',
    url(r'^$', home),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^admin/file_browser$', file_browser),)

# views.py
def file_browser(request):
    if request.user.is_superuser:
        return render(request, 'admin/browser.html')
    else:
        return HttpResponseRedirect('admin/')

我在Django admin login for particular url中已经阅读了类似的问题,并且它工作正常,直到我按下登录按钮然后django引发错误,即settings.LOGIN_URL不存在或有时404错误。我该怎么办?

1 个答案:

答案 0 :(得分:0)

在搜索django管理文件后,我终于找到了一个装饰器:

from django.contrib.admin.views.decorators import staff_member_required
@staff_member_required
def media_browser(request):
    return HttpResponse("You logged in")

希望那些有这个问题的人能够运作。