Exemplo n.º 1
0
def create_database():
    token = request.cookies.get('token')
    if User.query.get(cache.get_user_id(token)).roles:  # 该用户的角色列表
        for u in User.query.get(cache.get_user_id(token)).roles:
            for p in u.privileges:
                if p.name == 'create_db':
                    print('有权限!')
                    return 'OK'
        # print('name:',i.name)
    # db.create_all()
    return '创建数据库中的所有模型表成功'
Exemplo n.º 2
0
def index():
    # 获取用户登录的信息
    token = request.cookies.get('token')
    user_id = cache.get_user_id(token)
    user = User.query.get(int(user_id))

    return render_template('index.html', user=user)
Exemplo n.º 3
0
def modify():
    msg = None
    # print('request-method',request.method)
    token = request.cookies.get('token')
    user_id = cache.get_user_id(token)
    # 任务2::优化登录用户的相关信息存在redis中(缓存)
    user = User.query.get(int(user_id))
    if request.method == 'POST':
        # 头像上传
        # 获取上传的文件
        # user_photo必须和前端请求中文件字段名保持一致
        upload_file: FileStorage = request.files.get('user_photo')
        # 验证文件是否为图片
        if not upload_file.content_type.startswith('image/'):
            msg = "只支持图片上传"
        else:
            # 保存图片
            filename = uuid.uuid4().hex + os.path.splitext(
                upload_file.filename)[-1]
            filepath = os.path.join(settings.USER_DIR, filename)

            # 服务端保存上传的文件
            upload_file.save(filepath)

            # 更新用户信息
            # 保存在数据库的图片路径是相对static资源访问的路径
            user.photo = 'user/' + filename
            db.session.commit()

    return render_template('user/info.html', user=user, msg=msg)
Exemplo n.º 4
0
def modify():
    token = request.cookies.get('token')
    user_id = cache.get_user_id(token)
    msg = ''
    # 任务1: 优化登陆用户的相关信息存在redis中(缓存)
    user = User.query.get(int(user_id))
    if request.method == 'POST':
        # 头像上传
        # 获取上传的文件
        photo: FileStorage = request.files.get('user_photo')
        # print(photo.filename)
        # print(photo.content_length)
        # print(photo.content_type)
        # 验证文件是否是图片
        if not photo.content_type.startswith('image/'):
            msg = '只支持图片上传!'
        else:
            # 保存图片
            filename = uuid.uuid4().hex + os.path.splitext(photo.filename)[-1]
            filepath = os.path.join(settings.USER_DIR, filename)
            # 服务端保存上传的文件
            photo.save(filepath)
            # 更新用户
            # 保存在数据库的图片是相对static资源访问的路径
            user.photo = 'user/' + filename
            db.session.commit()
    return render_template('user/info.html', user=user, msg=msg)
Exemplo n.º 5
0
def modify():
    token=request.cookies.get('token')
    user_id=cache.get_user_id(token)
    #登陆信息在redis中

    user=User.query.get(int(user_id))

    return render_template('user/info.html',user=user)
Exemplo n.º 6
0
def process_request(*args, **kwargs):
    app.logger.info(request.path + '被访问了')  # 记录被访问的路径
    white_list = ['/user/login', '/user/register', '/user/name/verity', '/log']
    token = request.cookies.get('token')
    if request.path.startswith('/s'):  # 处理静态文件路径
        return None
    if request.path in white_list:  # 如果是请求白名单页面,则放行,否则会死循环
        if token:
            user_id = cache.get_user_id(token)
            if user_id:  # 如果user_id存在则放行,否则重定向到主页面
                return redirect(url_for('index'))
        return None
    else:
        if not token:
            return redirect(url_for('userBlue.login'))
        user_id = cache.get_user_id(token)
        if user_id:  # 如果user_id存在则放行,否则重定向到登录页面
            return None
        return redirect(url_for('userBlue.login'))
Exemplo n.º 7
0
def check_login():
    # 判断request中是否包含token
    # 验证token是否有效
    if request.path != '/user/login/':
        token = request.cookies.get('token')
        if not token:
            return redirect(url_for('userBlue.login'))
        user_id = cache.get_user_id(token)
        if not user_id:
            return redirect(url_for('userBlue.login'))
Exemplo n.º 8
0
def upload_photo():
    upload_file: FileStorage = request.files.get('photo')
    u = User.query.get(cache.get_user_id(request.cookies.get('token')))
    filename = uuid.uuid4().hex + os.path.splitext(upload_file.filename)[-1]
    filepath = os.path.join(MEDIA_DIR, filename)
    upload_file.save(filepath)

    resp_path = '/s/media/' + filename
    u.photo = resp_path
    db.session.commit()

    return jsonify({'code': 200, 'msg': '上传成功', 'path': resp_path})
Exemplo n.º 9
0
def check_login():
    app.logger.info(request.path + '被访问了')
    if request.path not in ['/user/login', '/log']:
        # 判断request中是否包含token
        # 验证token是否有效
        token = request.cookies.get('token')
        if not token:
            return redirect(url_for('userBlue.login'))
        else:
            user_id = cache.get_user_id(token)
            if not user_id:
                return redirect(url_for('userBlue.login'))
Exemplo n.º 10
0
def check_login():
    app.logger.info(request.path+'access ')
    # print(request.cookies.get('token'))
    # if request.path != '/user/login':
    if request.path not in ['/user/login','/log']:
        #验证token是否有效,token存储与redis中
        token=request.cookies.get('token')
        if not token:
            return redirect(url_for('userBlue.login'))
        else:
            user_id=cache.get_user_id(token)
            if not user_id:
                return redirect(url_for('userBlue.login'))
Exemplo n.º 11
0
def upload_photo():
    upload_file: FileStorage=request.files.get('photo')
    filename=uuid.uuid4().hex+os.path.splitext(upload_file.filename)[-1]
    filepath=os.path.join(settings.USER_DIR,filename)
    upload_file.save(filepath)
    user=User.query.get(cache.get_user_id(request.cookies.get('token')))
    user.photo='user/'+filename
    db.session.commit()
    return jsonify({
        'msg':'upload success',
        # 'path':'user/gyy6.jpg'
        'path':'user/'+filename
    })
Exemplo n.º 12
0
def modify():
    token = request.cookies.get('token')
    user_id = cache.get_user_id(token)
    # 任务2: 优化登录用户的相关信息存在redis中(缓存)
    user = User.query.get(int(user_id))
    if request.method == 'POST':
        nick_name = request.form.get('nick_name')
        password = request.form.get('password')
        # 修改用户信息
        user.nick_name = nick_name
        user.auth_key = password
        # db.session.commit()
    return render_template('user/info.html', user=user)
Exemplo n.º 13
0
def upload_photo():
    upload_file: FileStorage = request.files.get('photo')

    filename = uuid.uuid4().hex + os.path.splitext(upload_file.filename)[-1]
    filepath = os.path.join(settings.USER_DIR, filename)

    upload_file.save(filepath)

    user = User.query.get(cache.get_user_id(request.cookies.get('token')))
    # 任务1: 删除之前的用户头像

    user.photo = 'user/' + filename
    db.session.commit()

    # ? 图片如何压缩- PIL(pip install pillow)

    return jsonify({'msg': '上传成功', 'path': 'user/' + filename})
Exemplo n.º 14
0
def upload_photo():
    upload_file: FileStorage = request.files.get('photo')
    filename = uuid.uuid4().hex + os.path.splitext(upload_file.filename)[-1]
    filepath = os.path.join(settings.USER_DIR, filename)

    upload_file.save(filepath)

    # 获取文件
    user = User.query.get(cache.get_user_id(request.cookies.get('token')))
    # 任务1:删除之前的用户头像
    if user.photo:
        yuan = os.path.join(settings.STATIC_DIR, user.photo)
        os.remove(yuan)
        print('------------删除成功-------------')
    user.photo = 'user/' + filename
    db.session.commit()
    return jsonify({'msg': '上传成功', 'path': 'user/' + filename})
Exemplo n.º 15
0
def upload_photo():
    token = request.cookies.get('token')
    user = User.query.get(int(cache.get_user_id(token)))
    upload_file:FileStorage = request.files.get('photo')
    filename = uuid.uuid4().hex + os.path.splitext(upload_file.filename)[-1]
    filepath = os.path.join(settings.USER_DIR, filename)
    upload_file.save(filepath)
    # 任务2 删除用户的旧图片资源
    try:
        os.remove(os.path.join(settings.STATIC_DIR, user.photo))
    except:
        print('文件丢失')
    user.photo = 'user/' + filename
    db.session.commit()
    return jsonify({
        'msg': '上传成功',
        'path': '/static/user/' + filename
    })
Exemplo n.º 16
0
def index():
    user_id = cache.get_user_id(request.cookies.get('token'))
    u = User.query.get(user_id)
    return render_template("index.html", user=u)