登录后Django不会重定向到管理员站点

时间:2013-12-13 07:17:18

标签: python django

我还需要一个登录表单字段来登录django admin。我重写了AdminSite.login_form

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

然后我渲染了这个, 代码: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}

我在templates / 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放入网址,则会显示我已登录,我可以看到管理网站。

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

对此有任何解决方法....

1 个答案:

答案 0 :(得分:1)

settings.LOGIN_REDIRECT_URL设为/admin/

  

默认值:'/ accounts / profile /'

     

登录后重定向请求的URL   contrib.auth.login视图没有下一个参数。

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