2013-12-13 59 views
1

我需要一个登录表单域来登录django admin。我重写AdminSite.login_formDjango登录后不重定向到管理站点

CODE:forms.py

from django.contrib.admin.forms import AdminAuthenticationForm 
from django import forms 
from django.contrib.admin.sites import AdminSite 

    class ModifiedForm(AdminAuthenticationForm): 
     auth_fact = forms.CharField(max_length=64,required=False) 

    AdminSite.login_form = ModifiedForm 

然后我渲染这个来自 CODE:views.py

def login_test(request): 
if request.method == "POST": 
    form = ModifiedForm(request.POST) 
    if form.is_valid(): 
     username = form.cleaned_data['username'] 
     password = form.cleaned_data['password'] 
     auth_fact= form.cleaned_data['auth_fact'] 
return render_to_response('admin/login.html',{'form':ModifiedForm} 

我在模板创建一个模板,以及/ admin/login.html

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
<p>Login Page</p> 

    <div class="row-fluid"> 
     <div class="span12"> 

    <form action="" method="POST">{% csrf_token %} 
     <table> 
     {{ form.as_table }} 
     </table> 
<p style="margin-left:7%;"><small style="color: red;">example:product name,mfg date,exp date,batch no.</small></p> 
<input style="margin-left:10%" class="btn btn-primary" type="submit" name="release" value="Update Product Details "/> 
    </form> 

    </div> 
    </div> 
</body> 
</html> 

所有工作正常,我可以提交登录表单。但我重定向我的页面:

http://example.com/accounts/profile/

而且我越来越找不到网页的错误,但如果把http://excample.com/admin在URL它让我登录,我可以看到管理站点。

基本上我可以登录,但不能将其重定向到管理页面。

任何修复这个....

回答

1

设置settings.LOGIN_REDIRECT_URL/admin/

默认值: '/帐号/资料/'

这里请求登录时后重定向的URL contrib.auth.login视图不会获得下一个参数。

或者您可以发送next参数到login view

相关问题