python web py入门(12)- 实现用户登录论坛

前面已经介绍了怎么注册用户,当用户注册成功之后,就需要使用帐号进行登录,这个登录过程是怎么样实现的呢?
首先是要有一个登录的连接,通过首页点击登录,就会进入登录的URL连接:http://127.0.0.1:8080/login,当你在网页上点击之后,就会在WEBPY的应用处理这个连接:
'/login', 'Login',  #登录

对,就是通过这个地方进行关联,然后进入登录处理类:

class Login:
    def GET(self):
        return titled_render('登录').login()

    def POST(self):
        i = web.input(username='', password='')
        user_id = model.User().login(i.username, i.password)
        if user_id:
            # 设置cookie
            web.setcookie('user_id', str(user_id), settings.COOKIE_EXPIRES)
            raise web.seeother('/user/%d' % user_id)
        else:
            return titled_render().failed('登录验证失败,请检查帐号和密码是否正确')
首先会显示登录页面如下:
python web py入门(12)- 实现用户登录论坛_第1张图片
在这里,其实就是调用GET的方法,比较直接地使用login.html模板进行渲染返回给浏览器,当你输入用户名称和密码之后,就会通过POST方法把数据从浏览器发送给服务器,接着在WEBPY里就可以收到用户名称和密码,分别保存在i.username, i.password里。调用model.User().login函数通过数据库来确认用户是否存在,并且密码是否正确,如果正确,就可以把用户ID保存在浏览器的COOKIE里,接着后面所有处理,就可以根据COOKIE里的ID来进行判断。

配套的源码在:http://download.csdn.net/download/caimouse/10255258

TensorFlow API攻略
http://edu.csdn.net/course/detail/4495
TensorFlow入门基本教程
http://edu.csdn.net/course/detail/4369
C++标准模板库从入门到精通 
http://edu.csdn.net/course/detail/3324
跟老菜鸟学C++
http://edu.csdn.net/course/detail/2901
跟老菜鸟学python
http://edu.csdn.net/course/detail/2592


你可能感兴趣的:(webpy)