2014-02-07 46 views
0

在我看来,用户可以登录到应用程序,我有以下视图处理器:Django的超级用户创建问题

# Login Page 
def login(request): 
    # First check if the user is already logged in 
    if request.user.is_authenticated(): 
     print "User is authenticated" 
     # Yes - redirect to control panel home page 
     return HttpResponseRedirect('/control-panel') 

因此,如果用户已经登录,我不允许登录页面要显示,而是重定向到控制面板页面这就好比已登录的主页,用户现在

,在我看来,处理器为新用户页面的注册,我有以下代码:

def register(request): 
    # Assume that I have code that handles all form processing etc. 
    # Create super user 
    user = User.objects.create_superuser(username=username, 
             email=email, password=password) 
    # Redirect to login page 
    return HttpResponseRedirect('/login?registration_success=1') 

我想要的是,一旦用户注册,我将用户保存在数据库中,然后将用户重定向到登录页面 - 用户需要在注册后登录。

但是,会发生什么情况是用户似乎已经登录,因此可以在登录页面视图处理程序的代码中看到,用户被重定向到控制面板页面。

如何创建超级用户(但不能登录用户),然后在注册后强制用户登录?

编辑:如果我注册用户作为非超级用户,那么它不会自动登录用户。因此,如果我使用User.objects.create_user(...)而不是用户登录。只有超级用户自动登录,我不想发生。

回答

0

尝试手动登录送行寄存器后..

from django.contrib.auth import logout 

logout(request) 
+0

我知道这一点,但我不想明确注销用户。有没有创建用户但没有登录他的东西? – callmekatootie

相关问题