Django框架首页和登录页分离操作示例
更新时间:2019年05月28日 09:20:59 作者:学习笔记666
这篇文章主要介绍了Django框架首页和登录页分离操作,结合实例形式分析了Django框架登录、验证、跳转首页等相关操作技巧,需要的朋友可以参考下
本文实例讲述了Django框架首页和登录页分离操作。分享给大家供大家参考,具体如下:
1.登录模板login.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>用户登录</title> </head> <body> <form method="post"> <p>用户名:<input type="text" name="username"></p> <p>密码:<input type="password" name="pwd"></p> <p><input type="submit" value="提交"></p> <hr> </form> <p> {{ result }}</p> </body> </html>
2.URL设置
url(r'^login/', "hello.views.login")
表示浏览器访问login,就指向hello应用下views文件下login方法
3.在login方法下响应login模板和完成登录功能
def login(request): msg = {'result': ''} if request.method == 'POST': getUserName = request.POST.get('username') getPwd = request.POST.get('pwd') # 实例化UserLogin类 loginObj = UserLogin(getUserName,getPwd) if loginObj.isLogin(): myReponse = HttpResponse("<script>self.location='/index'</script>") myReponse.set_cookie('userlogin_username',getUserName,3600) return myReponse else: msg['result'] = '用户名或密码错误' myReponse = render_to_response("login.html", msg) return myReponse
其中我们使用了UserLogin类,并用此类中的方法完成了用户是否已经登录的验证。
UserClass.py:
# coding:utf-8 class UserLogin: userName = '' pwd = '' # 构造方法 def __init__(self,username,pwd): self.userName = username self.pwd = pwd # 登录验证方法 def isLogin(self): if self.userName == 'jack' and self.pwd == '123': return True else: return False
在views.py中使用之前必须要引入:
from UserClass import UserLogin
表示从UserClass中导入UserLogin。
4.在login方法中,登录成功就跳转到了首页,首页显示登录用户名
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>首页</title> </head> <body> <h2>这是首页,当前登录用户是:{{ username }}</h2> <p><a href="##" rel="external nofollow" >安装退出</a></p> </body> </html>
def hi(request): msg = {'username':'游客'} if request.COOKIES.get('userlogin_username') != None : msg['username'] = request.COOKIES.get('userlogin_username') myReponse = render_to_response("index.html",msg) return myReponse
希望本文所述对大家基于Django框架的Python程序设计有所帮助。
相关文章
cv2.imread 和 cv2.imdecode 用法及区别
对于路径中含有中文的图像,直接用cv2.imread读取会报错,上次看到有大佬使用cv2.imdecode就可以正常读取,有点好奇,所以今天来记录下二者用法和区别,感兴趣的朋友跟随小编一起看看吧2023-02-02
最新评论