重定向不适用于表单submit Django 1.6

2024-10-03 09:15:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图得到一个响应函数重定向到另一个页面,然而,它似乎只是设置了浏览器的网址,其他什么都没有。我想登录页面也会重新加载。页面不会重新加载新内容,不会引发错误。以下是登录表单页面模板的一个片段:

<form id="loginformid" action="/basicsite/loginwithuser/" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    User name: <input type="text" name="username"><br>
    Password: <input type="password" name="pwd"><br>
    <input type="submit" value="login!"/>
</form>

这是你的名字网址.py地址:

url(r'^basicsite/loginwithuser', 'basicsite.views.loginwithuser'),
url(r'^basicsite/home', 'basicsite.views.home'),

这是你的名字视图.py你知道吗

def login(request):
    try:
        userexists = request.session['userexists']
    except:
        userexists = 'notsubmitted'
    return render(request, LOGINPAGETEMPLATE, {'userexists':userexists})

def loginwithuser(request):
    username = request.POST['username']
    passw = request.POST['pwd']

    try:
        u = User.objects.get(user_name=username,password=passw)
        request.session['user'] = u.user_name
        return HttpResponseRedirect('/basicste/home/')
    except:
        request.session['userexists'] = 'incorrectlogin'
        return HttpResponseRedirect('/basicste/login/')

即使我只是尝试vvv,页面也会执行相同的行为:

def loginwithuser(request):
     return HttpResponseRedirect('/basicsite/home/')

Tags: nameformhomeinputreturnrequestsessiondef