首页和登录页分离

来源:互联网 发布:类似于企查查的软件 编辑:程序博客网 时间:2024/05/06 04:49

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-8class 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="##">安装退出</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
0 0