def test(): connection = pymysql.connect(host='localhost', user='******', password='******', db='web8', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) # with connection.cursor() as cursor: # cursor.execute('DROP DATABASE `web8`') # cursor.execute('CREATE DATABASE `web8` CHARACTER SET utf8mb4') # cursor.execute('USE `web8`') # cursor.execute(User.sql_create) # cursor.execute(Session.sql_create) # cursor.execute(Todo.sql_create) # cursor.execute(Comment.insert()) # connection.commit() # connection.close() form = dict( username='******', password='******', ) User.register_user(form) u, result = User.login_user(form) assert u is not None, result form = dict( username='******', password='******', ) User.register_user(form) session_id = random_string() form = dict( session_id=session_id, user_id=u.id, ) Session.new(form) s: Session = Session.one(session_id=session_id) assert s.session_id == session_id form = dict( title='test todo', user_id=u.id, ) t = Todo.add(form, u.id) assert t.title == 'test todo' form = dict(content='123', user_id=u.id, weibo_id=1) c = Comment.new(form) assert c.content == '123' form = dict( content='123', user_id=u.id, ) w = Weibo.new(form) assert w.user_id == 1
def current_user(): if 'session_id' in request.cookies: session_id = request.cookies.get('session_id', 'guest') session = Session.one(session_id=session_id) if session is not None: user_id = session.user_id user = User.one(id=user_id) return user else: return User.guest() else: return User.guest()
def current_user(): if 'session_id' in request.cookies: session_id = request.cookies['session_id'] s = Session.one(session_id=session_id) if s is None or s.expired(): return User.guest() else: user_id = s.user_id u = User.one_for_id(id=user_id) return u else: return User.guest()
def current_user(request): # 返回当前登录用户, 若未登录则返回游客用户 if 'session_id' in request.cookies: session_id = request.cookies['session_id'] s = Session.one(session_id=session_id) if s is None or s.expired(): return User.guest() else: user_id = s.user_id u = User.one(id=user_id) return u else: return User.guest()
def current_user(request): # log('<F_current_user s {}'.format(request.cookie)) if 'session_id' in request.cookie: session_id = request.cookie['session_id'] # log('<F_current_user s {}'.format(session_id)) s = Session.one(session_id=session_id) # log('<F_current_user s {}'.format(s)) if s is None or s.expired(): return User.guest() else: user_id = s.user_id u = User.one(id=user_id) return u else: return User.guest()
def current_user(request): log('current_user', request.cookies) if 'session_id' in request.cookies: log('current_user session_id 存在') session_id = request.cookies['session_id'] s = Session.one(session_id=session_id) if s is None or s.expired(): return User.guest() else: user_id = s.user_id u = User.one(id=user_id) if u is None: return User.guest() else: return u else: return User.guest()
def test(): connection = pymysql.connect( host='localhost', user='******', password=database_password, charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor ) with connection.cursor() as cursor: cursor.execute('DROP DATABASE `web`') cursor.execute('CREATE DATABASE `web` CHARACTER SET utf8mb4') cursor.execute('USE `web`') cursor.execute(User.sql_create) cursor.execute(Session.sql_create) cursor.execute(Todo.sql_create) cursor.execute(Comment.sql_create) cursor.execute(Weibo.sql_create) connection.commit() connection.close() form = dict( username='******', password='******', ) User.register_user(form) u, result = User.login_user(form) assert u is not None, result session_id = random_string() form = dict( session_id=session_id, user_id=u.id, ) Session.new(form) s: Session = Session.one(session_id=session_id) assert s.session_id == session_id form = dict( title='test todo', user_id=u.id, ) t = Todo.add(form, u.id) assert t.title == 'test todo'
def reset_all_tables(): connection = pymysql_connection() with connection.cursor() as cursor: cursor.execute('DROP DATABASE IF EXISTS `myserver`') cursor.execute('CREATE DATABASE `myserver` CHARACTER SET utf8mb4') cursor.execute('USE `myserver`') cursor.execute(User.sql_create) cursor.execute(Session.sql_create) cursor.execute(Weibo.sql_create) cursor.execute(Comment.sql_create) connection.commit() connection.close() form = dict( username='******', password='******', ) User.register_user(form) u, result = User.login_user(form) assert u is not None, result session_id = random_string() form = dict( session_id=session_id, user_id=u.id, ) Session.new(form) s: Session = Session.one(session_id=session_id) assert s.session_id == session_id form = dict( content='hello', user_id=u.id, ) w = Weibo.new(form) assert w.content == 'hello' form = dict( content='hi', user_id=u.id, weibo_id=w.id, ) c = Comment.new(form) assert c.content == 'hi'
def current_user(request): if 'session_id' in request.cookies: session_id = request.cookies['session_id'] s = Session.one(session_id=session_id) if s is None or s.expired(): log('当前用户:游客') return User.guest() else: user_id = s.user_id u = User.one(id=user_id) if u is None: log('当前用户:游客') return User.guest() else: log('当前用户:<{}>'.format(u.username)) return u else: log('当前用户:游客') return User.guest()
def current_user(): """ 获取当前用户的ID信息 :return: 用户对应的User类 """ # 检查cookie里面有没有session_id, 没有则返回游客类 if 'session_id' in request.cookies: # 已知cookie里有session_id, 调取session_id session_id = request.cookies['session_id'] # 在数据库里找到对应的session类 session = Session.one(session_id=session_id) # 找的了Session类则通过里面记录的user id 返回对应的User, 否则反之游客 if session is not None: user_id = session.user_id user = User.one(id=user_id) return user else: return User.guest() else: return User.guest()