python django 做了个web ,在登录界面我想直接调用系统的login模板,可是每次登录成功之后就跳到

发布网友 发布时间:2022-04-21 08:57

我来回答

3个回答

热心网友 时间:2023-11-08 10:03

系统的login.html里包含一个重定向URL的next隐藏域。有这么一行:
<input type="hidden" name="next" value="{{ next }}" />
登陆以后跳转到系统默认的/accounts/profile
你把value改成你想要跳转的url或者给next重新传一个url也行

热心网友 时间:2023-11-08 10:04

登录成功后的页面可以在response = HttpResponseRedirect('/index/')定义可以指定跳转固定页面,也可以跳转到登录前访问的页面
def My_login(request): #这时登录认证页面
if request.method == "POST":
uf = UserFormLogin(request.POST)
if uf.is_valid():
#获取表单信息
username = uf.cleaned_data['username']
password = uf.cleaned_data['password']
user = authenticate(username = username,password = password)
#pdb.set_trace()
if user:
login(request,user)
request.session['user'] = username
next = request.GET.get('next')
response = HttpResponseRedirect(next) #这里的next可以替换成固定页面,也可以作为一个变量来传递传输,比如实际访问页面为127.0.0.1:8080/login?next=/hello/,这时next实际传递的值为'/hello/',所以当我登录认证成功后会自动跳转到127.0.0.1:8080/hello/这个页面
#response.set_cookie('name',username,60*60*24*1)
return response
else:
return HttpResponse("该用户不存在")
else:
uf = UserFormLogin()
return render_to_response("Userlogin.html",{'uf':uf})

热心网友 时间:2023-11-08 10:04

在views直接写跳转呀
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com