Django Python登录后重定向

Django Python登录后重定向,python,html,django,redirect,login,Python,Html,Django,Redirect,Login,我知道这个问题的答案是一个或另一个方式,但我仍然不知道如何重定向后,用户登录。我知道Django自带内置网站,但我需要一个自定义的登录表单,如下所示(这是HTML): 我并不是完全自己写代码的。我发现重定向发生在html文件中的某个地方:在登录(请求,用户)之后,您需要返回一些http响应,例如,它是从ome模板呈现的页面。但是,如果您想转到其他页面,可以返回HttpResponseRedirect('/needed\u url'),您将得到指向该url的请求 您还可以根据需要指向request

我知道这个问题的答案是一个或另一个方式,但我仍然不知道如何重定向后,用户登录。我知道Django自带内置网站,但我需要一个自定义的登录表单,如下所示(这是HTML):

我并不是完全自己写代码的。我发现重定向发生在html文件中的某个地方:
登录(请求,用户)
之后,您需要返回一些http响应,例如,它是从ome模板呈现的页面。但是,如果您想转到其他页面,可以返回
HttpResponseRedirect('/needed\u url')
,您将得到指向该url的请求

您还可以根据需要指向
request.POST['referer'])
以转到上一页


另外,我可以说
认证(username=request.POST['username']
,并且您的缩进不正确。请更新您的问题,并发布您的
url.py
。从问题中可以看出,他已经返回了
HttpResponseRedirect
,因此这不可能是问题。正如作者所说,他并不是完全自己编写代码的,所以我认为问题在于如何编写url登录后重新启动。
{% if user.is_authenticated %}
    <!-- Authenticate account menu -->
{% else %}
    <h3>Login</h3>
    <form action="/app/login/" method="post" accept-charset="utf-8">
        <label for="username">Username</label>
        <input type="text" name="username" value="" id="username" />
        <label for="password">Password</label>
        <input type="password" name="password" value="" id="password" />
        <p><input type="submit" value="Login →"></p>
    </form>
{% endif %}
from django.http import HttpResponse
from django.shortcuts import render_to_response
from django.template import Context, loader
from django.contrib.auth import authenticate, login
from django.views.generic.simple import *

def index(request):
if request.method == 'POST':
        user = authenticate(username=request.POST['username'],                    password=request.POST['password'])
        if user is not None:
            if user.is_active:
                login(request, user)
                # success
            if request.POST['next']:
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect('/')
        else:
            # disabled account
            return direct_to_template(request, 'inactive_account.html')
    else:
        # invalid login
        return render_to_response("app/index.html")
return render_to_response("app/index.html")