Django框架-登陆后自定义跳转页面

Django auth 登录后页面跳转至/account/profile,修改跳转至其余页面

这几天在学习django,django功能很强大,自带的auth,基本能够知足用户注册登录登出,简单的用户注册登录系统使用django auth足矣。固然也不是拿来就能用的,须要本身写登录页面的模板,也很简单。本身尝试了一下,发现一个问题,当验证登录成功后,页面会自动跳转到/account/profile,我并不想把页面跳转到这个页面,如何修改呢?web

查了一堆网页,仍是官网靠谱,很简单,就在project的setting里加一句话就Okay!ajax

LOGIN_REDIRECT_URL = ‘/index’

我这里是指定登录成功后跳转到index页面,朋友们能够根据本身须要进行修改。就这样就okay啦!欢呼吧,而后接着解决别的问题!django

========================================================================================================================================================session

Django 跳转和重定向的方法:post

跳转和重定向很常见的场景就是登陆和注销后返回到当前页面。给你个登陆和注销的例子。好比用户正在浏览一篇文章,发现下载该文章的附件须要登陆才能进行,这时候点击登录连接转入登录页面,输入用户名密码登录成功之后,会自动转回原来的那篇文章所在的页面。(目前不少网站采用ajax方法弹出对话框登录,效果更好一些)怎么作呢?下面说的是django的实现,可是大多数的web framework均可以这么作。注销操做:由于不须要单独的注销页面,相对简单,利用HTTP_REFERER,Django的注销页面这样写就行:def logout_user(request):    logout(request)    return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))登陆操做:登录操做相对复杂,由于通常都有单独的登录页面,若是登录成功再取HTTP_REFERER就是登录页面本身的url,而不是以前的那个页面。能够利用django的session,在转入登录的时候,用的是页面的get请求,这时候在session中记录HTTP_REFERER,用户输入用户名密码进行登录的时候(Post请求),从session中取出便可:def login_user(request):    if request.method == 'GET':        #记住来源的url,若是没有则设置为首页('/')        request.session['login_from'] = request.META.get('HTTP_REFERER', '/')        #TODO:显示登录页面,blablabla    elif request.method == 'POST':        #TODO: 用户登陆操做,blablabla        #重定向到来源的url        return HttpResponseRedirect(request.session['login_from'])最后的重定向,有时候须要用户感受到被重定向回去了,就写个简单的页面告诉用户两秒之后跳转,而后改改相应的login代码就行:<p>两秒钟后转入以下连接,若是长时间没有响应请直接点击:</p><p><a href="{{ refresh_url }}">{{ refresh_url }}</a></p><meta http-equiv="refresh" content="2;url={{ refresh_url }}">
相关文章
相关标签/搜索