예제 #1
0
파일: action.py 프로젝트: doom2020/hotme
 def login(self):
     ret_dict = {'ret': 0, 'data': '', 'user': ''}
     account = self.info['account']
     password = self.info['password']
     if not account or not password:
         ret_dict['ret'] = 1
         return ret_dict
     secret_pwd = md5Str(password)
     try:
         user_info_obj = session.query(UserInfo).filter(
             UserInfo.name == account, UserInfo.password == secret_pwd,
             UserInfo.is_delete == 0).one()
         print(user_info_obj)
     except Exception as e:
         print(e)
         ret_dict['ret'] = 2
         return ret_dict
     result = self.request.set_secure_cookie("user",
                                             account,
                                             expires_days=10)
     if result:
         print("post登录成功,设置的cookie: %s" %
               self.request.get_secure_cookie("user"))
     else:
         print("post登录成功,设置cookie失败")
     ret_dict['user'] = account
     return ret_dict
예제 #2
0
 def test_query_root_menu(self):
     # 查看所有的一级菜单
     m = session.query(Menu).filter_by(parent_id=None).all()
     for ml in m:
         print(ml.title)
         for ms in ml.childs:
             print("---",ms)
예제 #3
0
 def test_query_root_menu(self):
     # 查看所有的一级菜单
     ms = session.query(Menu).filter(Menu.parent_id.is_(None)).all()
     for m in ms:
         print(m.title)
         for mc in m.childs:
             print('|---', mc.title)
예제 #4
0
    def post(self):
        username = self.get_argument('username')
        password = self.get_argument('passwd')
        # password = my_md5(password)
        #
        # if not re.match('^\w{6,20}$', username):
        #     self.write("用户名不合法")
        #     return
        # if not re.match('^\w{6,20}$', password):
        #     self.write("密码不合法")
        #     return

        # 判断用户是否存在
        users = session.query(User).filter_by(username=username,
                                              password=password)
        if users.count() > 0:
            self.write("用户已注册")
            return

        # 添加用户
        user = User()
        user.username = username
        user.password = password

        try:
            session.add(user)
            session.commit()
        except:
            session.rollback()
            session.flush()
            self.write('注册失败')
        else:
            self.redirect(self.reverse_url('login'))
예제 #5
0
 def test_get(self):
     # 查询-session.query(模型类)
     m = session.query(Menu).get(1)
     print(m.title)
     print('--查看是所有的子菜单---')
     for cm in m.childs:
         print(cm)
예제 #6
0
    def get(self):
        id = self.get_query_argument('id', '1')
        blog_list = session.query(Blogs.id, Blogs.title, Blogs.content, Blogs.time, Category.name)\
            .join(Category, Category.id == Blogs.id).all()
        blog_con = session.query(Blogs.id, Blogs.title, Blogs.content, Blogs.time, Category.name)\
            .join(Category, Category.id == Blogs.id)\
            .filter(Blogs.id == id).first()

        data = {
            'blog_navs': self.blog_navs,
            'blogs': blog_list,
            'navs': self.navs,
            'index': False,
            'blog_con': blog_con
        }

        self.render('blog_list.html', **data)
예제 #7
0
 def render(self, *args, **kwargs):
     date = {}
     for m in session.query(Menu).filter(Menu.parent_id.is_(None)).all():
         date[m] = []
         for n in m.childs:
             date[m].append(n)
     data = {'menu': date}
     return self.render_string('ui/menu.html', **data)
예제 #8
0
 def render(self):
     # 准备数据(从缓存,从数据库)
     data = {
         'menus':
         session.query(Menu).filter(Menu.parent_id.is_(None)).all()
     }
     # 渲染ui模块的模板
     return self.render_string('ui/menu.html', **data)
예제 #9
0
    def test_query_root_menu(self):
        # 查看所有的一级菜单
        ms = session.query(Menu).filter(Menu.parent_id.is_(None)).all()

        for menu in ms:
            print(menu)
            # 查看二级菜单
            for secondary in menu.childs:
                print('-'*3, secondary)
예제 #10
0
    def on_close(self):
        username = self.get_cookie('username')

        users = session.query(User).filter_by(username=username)
        users.first().islogin = False
        session.commit()
        print('close')
        self.clear_cookie('username')
        # self.write("您已退出聊天...")
        self.online_users.remove(self)
예제 #11
0
    def get(self):
        navs = session.query(Menu).filter(Menu.parent_id == '').all()

        data = {
            'msg': 'hi, Template',
            'error_msg': None,
            'navs': navs,
            'index': True
        }
        for nav in navs:
            print(nav.title)
        self.render('base.html', **data)
예제 #12
0
    def post(self):
        username = self.get_argument('username')
        password = self.get_argument('passwd')

        users = session.query(User).filter_by(username=username,
                                              password=password)
        if users.count() == 0:
            self.write('账号不存在...')
            return

        users.first().islogin = False
        session.commit()

        self.redirect(self.reverse_url('index'))
예제 #13
0
    def get(self, *args, **kwargs):
        # data = {
        #     "msg":"hi,disen",
        #     "error_msg":"error",
        #     'age':20,
        #     'menus':['主页','新闻','音乐','视频'],
        #     'code':'<h3>hi,我是图片:8 > 5</h3>',
        #
        # }

        data = {
            "onetap":session.query(Menu).filter(Menu.parent_id.is_(None)).all()
        }

        # self.set_header(name='X-Content-Type-Options',value='nosniff')
        self.render('user_curd.html',**data)
예제 #14
0
    def post(self):
        username = self.get_argument('username')
        password = self.get_argument('passwd')
        # password = my_md5(password)

        users = session.query(User).filter_by(username=username,
                                              password=password)
        if users.count() == 0:
            self.write('请先注册再登录...')
            return

        if users.first().islogin == True:
            self.write('%s已经登录...' % username)
            return

        users.first().islogin = True
        session.commit()

        self.set_cookie('username', username)
        self.redirect(self.reverse_url('chat'))
예제 #15
0
 def post(self, *args, **kwargs):
     face = self.get_argument('face')
     username = self.get_argument('username')
     if not (face and username):
         self.render('register.html', error='注册信息请填写完整')
     user = session.query(User).filter(User.username == username).first()
     if user:
         self.render('register.html', error='该账号已被使用')
     img = face.split(',')[-1]
     if not register_face_user(img, username):
         self.render('register.html', error='注册失败')
     user = User()
     user.username = username
     session.add(user)
     session.commit()
     file = base64.b64decode(img)
     img_dir = os.path.join(IMAGE_DIR, username + '.jpg')
     with open(img_dir, 'wb') as f:
         f.write(file)
     self.write('注册成功')
예제 #16
0
 def post(self, *args, **kwargs):
     face = self.get_argument('face')
     username = self.get_argument('username')
     if not (face and username):
         self.render('login.html', error='请填写完整信息')
         return
     user = session.query(User).filter(User.username == username).first()
     if not user:
         self.render('login.html', error='用户没有注册')
         return
     img = face.split(',')[-1]
     file = os.path.join(IMAGE_DIR, username + '.jpg')
     file_exists = os.path.exists(file)
     if not file_exists:
         self.render('login.html', error='该账号没有注册')
         return
     score = match_face(img, file)
     if score < 80:
         self.render('login.html', error='匹配不成功')
         return
     self.set_cookie('username', username)
     self.write('登录成功,人脸匹配度为:{0:.2f}%'.format(score))
예제 #17
0
 def test_update(self):
     m1 = session.query(Menu).get(1)
     m1.title = '商品管理'
     session.commit()
예제 #18
0
 def get(self):
     stus = session.query(Student).filter(
         Student.s_name == 'xiaomi_0').all()
     print(stus)
     self.write('查询成功')
 def get(self):
     # stu = Student.query.filter(Student.s_name=='小明')
     stus = session.query(Student).filter(Student.s_name == '小明').all()
     stus = session.query(Student).filter_by(s_name='小明_0').all()
     print(stus)
     self.write('查询数据成功')
예제 #20
0
 def test_update(self):
     menu = session.query(Menu).get(5)
     # menu.title = '合作伙伴'
     menu.parent_id = 1
     session.commit()
예제 #21
0
 def test_remove(self):
     menu = session.query(Menu).get(5)
     session.delete(menu)
예제 #22
0
 def test_query_root_menu(self):
     ms = session.query(Menu).filter(Menu.parent_id.is_(None)).all()
     for m in ms:
         print(m.title)
예제 #23
0
 def test_query_root_menu(self):
     ms = session.query(Menu).filter(Menu.parent_id.is_(None)).all()
     for menu in ms:
         print(menu)
         for childs in menu.childs:
             print("-" * 3, childs)
예제 #24
0
 def test_get(self):
     m = session.query(Menu).get(1)
     print(m.title)
     print(m.children)
예제 #25
0
 def render(self, template_name, **kwargs):
     data = {
         'menu': session.query(Menu).filter(Menu.parent_id.is_(None)).all()
     }
     return self.render_string('menu/index.html', **data)
예제 #26
0
 def test_move(self):
     mn = session.query(Menu).get(5)
     session.delete(mn)
     session.commit()
예제 #27
0
 def test_delete(self):
     m1 = session.query(Menu).get(1)
     session.delete(m1)
     session.commit()
예제 #28
0
    def initialize(self):
        # 左侧导航栏
        self.navs = session.query(Menu).filter(Menu.parent_id == '').all()

        # 管理员导航栏
        self.admin_navs = session.query(Menu).filter(Menu.parent_id == 1)
예제 #29
0
 def render(self, *args, **kwargs):
     data = {
         'menus': session.query(Menu).filter(Menu.parent_id.is_(None)).all(),
         'menus_li': session.query(Menu).filter_by(parent_id=1).all()
     }
     return self.render_string('/', **data)
예제 #30
0
 def render(self):
     data = {
         'menus': session.query(Menu).filter(Menu.parent_id.is_(None)).all()
 }
     return self.render_string('ui/menu.html',**data)