using revers inside @user_passes_test

31 views
Skip to first unread message

Domagoj Kovač

unread,
Jul 15, 2014, 5:53:57 PM7/15/14
to django...@googlegroups.com
Hi Guys,

I have a problem. I have web application that supposed to have two logins, one for admin other for regular users. Inside my backend i am using @user_passes_test decorator to allow access only to admins. 

This is my code:

my_view
from django.core.urlresolvers import reverse
from django.template import RequestContext
from django.contrib.auth.decorators import login_required, user_passes_test
from django.shortcuts import render_to_response
@login_required()
@user_passes_test(lambda u: u.is_superuser, login_url=reverse("admin-login"))
def index(request):
    return render_to_response('backend/product_category/index.html', {}, context_instance=RequestContext(request))

my urls.py 
 urlpatterns = patterns('core.views',
    url(r'^' + base_url + '/account/login$', 'account.login', name="admin-login"),
    url(r'^' + base_url + '/account/logout$', 'account.logout_user', name="admin-logout"),
    url(r'^' + base_url + '/user/form/(?P<pk>.*)/', 'users.form', name="admin-user-form"),
    url(r'^' + base_url + '/user/form/', 'users.form', name="admin-user-form"),
    url(r'^' + base_url + '/user/details/(?P<pk>.*)', 'users.details', name="admin-user-details"),
    url(r'^' + base_url + '/user/delete/(?P<pk>.*)/', 'users.delete', name="admin-user-delete"),
    url(r'^' + base_url + '/user/list', 'users.list', name="admin-user-list"),
    url(r'^' + base_url + '/user/', 'users.index', name="admin-user"),
    url(r'^' + base_url + '/access-denied/$', 'default.access_denied', name="admin-access-denied"),
    url(r'^' + base_url + '/$', 'default.index', name="admin-index")
)

I am gettings this error.

ViewDoesNotExist at /admin/
Could not import product_subcategory.backend_views.index. View does not exist in module product_subcategory.backend_views.

Really strange, when i remove revers from login_url everything is ok. What is wrong? Can i use reverse inside @user_passes_test decorator?
Reply all
Reply to author
Forward
0 new messages