Esempio n. 1
0
def preview_add():
    form = PreviewForm()
    if form.validate_on_submit():
        data = form.data
        # 验证电影预告是否已经存在
        preview = Preview.query.filter_by(title=data["title"]).count()
        if preview != 0:
            flash("您要添加的电影预告已存在", "err")
            return redirect(url_for('admin.preview_add'))
        # 如果不存在在添加 其中涉及文件上传
        file_logo = form.logo.data.filename
        # 判断上传路径是否存在
        if not os.path.exists(app.config['UP_PREVIEW']):
            os.makedirs(app.config['UP_PREVIEW'])
            os.chmod(app.config['UP_PREVIEW'], 'rw')
        # 改名进行上传
        logo = change_filename(file_logo)
        # 上传
        form.logo.data.save(app.config['UP_PREVIEW'] + logo)
        preview = Preview(title=data['title'], logo=logo)
        # 保存数据库
        db.session.add(preview)
        db.session.commit()
        flash("添加电影预告%s成功" % preview.title, 'ok')
        # 操作日志
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason="添加预告%s" % data['title'])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for('admin.preview_add'))
    return render_template("admin/preview_add.html", form=form)
Esempio n. 2
0
def tag_edit(id):
    # 导入form
    form = TagForm()
    # 获取需要修改的tag
    tag = Tag.query.get_or_404(id)
    if form.validate_on_submit():
        # 获取页面数据
        data = form.data
        # 查找名称看是否存在
        tag_count = Tag.query.filter_by(name=data["name"]).count()
        # 判断是否修改了名称并验证是否重复
        if tag.name != data['name'] and tag_count != 0:
            flash("修改的标签名称已存在", "err")
            return redirect(url_for('admin.tag_edit', id=id))
        # 获取前段数据绑定到ORM中
        tag.name = data['name']
        # 添加数据库
        db.session.add(tag)
        db.session.commit()
        flash("修改标签名称成功", "ok")
        # 操作日志
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason="修改标签%s" % data['name'])
        db.session.add(oplog)
        db.session.commit()
    return render_template("admin/tag_edit.html", form=form, tag=tag)
Esempio n. 3
0
def tag_add():
    # 导入form
    form = TagForm()
    if form.validate_on_submit():
        # 获取页面数据
        data = form.data
        # 查找名称看是否存在
        tag = Tag.query.filter_by(name=data["name"]).count()
        if tag != 0:
            flash("您要添加的标签名称已存在", "err")
            return redirect(url_for('admin.tag_add'))
        # 获取前段数据绑定到ORM中
        tag = Tag(name=data["name"])
        # 添加数据库
        db.session.add(tag)
        db.session.commit()
        flash("新增标签成功", "ok")
        # 操作日志
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason="添加标签%s" % data['name'])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for('admin.tag_add'))
    return render_template("admin/tag_add.html", form=form)
Esempio n. 4
0
def movie_edit(id=None):
    form = MovieForm()
    form.url.validators = []
    form.logo.validators = []
    # 根据id查询需要修改的数据
    movie = Movie.query.get_or_404(id)
    # 判断是什么GET请求进行回显下拉选择
    if request.method == "GET":
        form.info.data = movie.info  # 对文本域进行赋值
        form.tag_id.data = movie.tag_id  # 对下拉框回显
        form.star.data = movie.star  # 对下拉框回显
    if form.validate_on_submit():
        data = form.data
        # 判断需要修改的片名是否存在
        movie_count = Movie.query.filter_by(title=data["title"]).count()
        if movie_count != 0 and movie.title != data['title']:
            flash("片名已存在!", 'err')
            return redirect(url_for('admin.movie_edit', id=id))
        # 修改片名与封面
        if not os.path.exists(app.config["UP_DIR"]):
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], "rw")
        if form.url.data != "":
            os.remove(app.config['UP_DIR'] + movie.url)
            file_url = form.url.data.filename
            movie.url = change_filename(file_url)
            form.url.data.save(app.config["UP_DIR"] + movie.url)
        if form.logo.data != "":
            os.remove(app.config['UP_DIR'] + movie.logo)
            file_logo = form.logo.data.filename
            movie.logo = change_filename(file_logo)
            form.logo.data.save(app.config["UP_DIR"] + movie.logo)
        # 修改的数据
        movie.star = data['star']
        movie.tag_id = data['tag_id']
        movie.info = data["info"]
        movie.title = data["title"]
        movie.area = data["area"]
        movie.length = data["length"]
        movie.release_time = data["release_time"]
        db.session.add(movie)
        db.session.commit()
        flash("修改电影成功", "ok")
        # 操作日志
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason="修改电影%s" % data['title'])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.movie_edit", id=movie.id))
    # movie = movie 为给前台赋值
    return render_template("admin/movie_edit.html", form=form, movie=movie)
Esempio n. 5
0
def movie_add():
    form = MovieForm()
    # 上传电影操作
    if form.validate_on_submit():
        # 获取表单数据
        data = form.data
        # 查找电影看是否存在
        movie = Movie.query.filter_by(title=data["title"]).count()
        if movie != 0:
            flash("您要添加的电影已存在库中", "err")
            return redirect(url_for('admin.movie_add'))
        # 如果库中不存在电影则添加
        # 对上传文件进行处理
        file_url = form.url.data.filename
        # print(file_url)
        file_logo = form.logo.data.filename
        # print(file_logo)
        # 上传路径是否存在
        if not os.path.exists(app.config['UP_DIR']):
            os.makedirs(app.config['UP_DIR'])  # 创建文件目录
            os.chmod(app.config['UP_DIR'], 'rw')  # 读写权限
        # 改名
        url = change_filename(file_url)
        logo = change_filename(file_logo)
        # 保存
        form.url.data.save(app.config['UP_DIR'] + url)
        form.logo.data.save(app.config['UP_DIR'] + logo)
        movie = Movie(
            title=data["title"],
            url=url,  # 文件类型
            info=data['info'],
            logo=logo,  # 文件类型
            star=int(data["star"]),  # 星级需要转换int
            playnum=0,
            commentnum=0,
            tag_id=data['tag_id'],
            area=data['area'],
            release_time=data['release_time'],
            length=data['length'])
        # 保存数据库
        db.session.add(movie)
        db.session.commit()
        flash("添加电影%s成功" % movie.title, "ok")
        # 操作日志
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason="添加电影%s" % data['title'])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for('admin.movie_add'))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 6
0
def movie_del(id=None):
    movie = Movie.query.get_or_404(int(id))
    db.session.delete(movie)
    db.session.commit()
    # 删除影片
    os.remove(app.config['UP_DIR'] + movie.url)
    os.remove(app.config['UP_DIR'] + movie.logo)
    flash("删除%s电影成功!" % movie.title, "ok")
    # 操作日志
    oplog = Oplog(admin_id=session['admin_id'],
                  ip=request.remote_addr,
                  reason="删除电影%s" % movie.title)
    db.session.add(oplog)
    db.session.commit()
    return redirect(url_for('admin.movie_list', page=1))
Esempio n. 7
0
def tag_del(id=None):
    '''删除标签'''
    # 根据ID查询删除的标签
    tag = Tag.query.filter_by(id=id).first_or_404()
    db.session.delete(tag)
    db.session.commit()
    # 闪现消息
    flash('删除"%s"标签成功' % tag.name, "ok")
    # 操作日志
    oplog = Oplog(admin_id=session['admin_id'],
                  ip=request.remote_addr,
                  reason="删除标签%s" % tag.name)
    db.session.add(oplog)
    db.session.commit()
    return redirect(url_for('admin.tag_list', page=1))
Esempio n. 8
0
def preview_del(id=None):
    if id is None:
        flash("未发现此电影预告", "err")
        return redirect(url_for('admin.preview_list', page=1))
    # 删除
    preview = Preview.query.get_or_404(int(id))
    db.session.delete(preview)
    db.session.commit()
    # 删除文件
    os.remove(app.config['UP_PREVIEW'] + preview.logo)
    # 闪现消息
    flash('删除%s预告成功' % preview.title, "ok")
    # 操作日志
    oplog = Oplog(admin_id=session['admin_id'],
                  ip=request.remote_addr,
                  reason="删除预告%s" % preview.title)
    db.session.add(oplog)
    db.session.commit()
    return redirect(url_for('admin.preview_list', page=1))
Esempio n. 9
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data["name"]).count()
        if tag == 1:
            flash("标签名称已存在!", "err")
            return redirect(url_for("admin.tag_add"))
        tag = Tag(name=data["name"])
        db.session.add(tag)
        db.session.commit()
        flash("添加标签成功!", "ok")
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason="添加标签%s" % data["name"])

        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.tag_add"))
    return render_template("admin/tag_add.html", form=form)