Esempio n. 1
0
def movie_edit(id=None):
    form = MovieForm()
    movie = Movie.query.get_or_404(int(id))
    form.url.validators = []  # 即不对url进行表单验证
    form.logo.validators = []  # 不对logo进行表单验证
    if request.method == 'GET':
        form.info.data = movie.info
        form.star.data = movie.star
        form.tag_id.data = movie.tag_id
    if form.validate_on_submit():
        data = form.data
        count = Movie.query.filter(Movie.title == data.get('title')).count()
        if count == 1 and data['title'] != movie.title:
            flash('片名已经存在!', 'error')
            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'],
                     stat.S_IRWXU | stat.S_IRGRP | stat.S_IROTH)

        if form.url.data.filename != "":
            file_url = secure_filename(form.url.data.filename)
            movie.url = change_filename(file_url)
            form.url.data.save(os.path.join(app.config['UP_DIR'], movie.url))

        if form.logo.data.filename != "":
            file_logo = secure_filename(form.logo.data.filename)
            movie.logo = change_filename(file_logo)
            form.logo.data.save(os.path.join(app.config['UP_DIR'], movie.logo))

        movie.title = data['title']
        movie.info = data['info']
        movie.star = int(data['star'])
        movie.tag_id = int(data['tag_id'])
        movie.area = data['area']
        movie.release_time = data['release_time']
        movie.length = data['length']
        db.session.add(movie)
        db.session.commit()
        flash('修改电影成功!', 'ok')
        return redirect(url_for('admin.movie_edit', id=id))
    return render_template('admin/movie_edit.html', form=form, movie=movie)
Esempio n. 2
0
def movie_edit(id=None):
    form = MovieForm()
    form.logo.validators = []
    form.url.validators = []
    movie = Movie.query.get_or_404(int(id))
    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 == 1 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 != '':
            file_url = secure_filename(form.url.data.filename)  # 获取后缀
            movie.url = change_filename(file_url)
            form.url.data.save(app.config['UP_DIR'] + movie.url)

        if form.logo.data != '':
            file_logo = secure_filename(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']
        db.session.add(movie)
        db.session.commit()
        flash("修改成功!", "ok")
        return redirect(url_for("admin.movie_list", page=1))

    return render_template("admin/movie_edit.html", form=form, movie=movie)
Esempio n. 3
0
def movie_edit(id=None):
    form = MovieForm()
    form.url.validators = []
    form.logo.validators = []
    if id == None:
        pass
    try:
        movie = Movie.query.get_or_404(int(id))
    except:
        add_admin_oplog('编辑<movie_id = %s>电影失败! 原因:电影不存在' % id)
        flash('编辑电影失败,找不到您想编辑的电影信息!', 'err')
        return redirect(url_for('admin.movie_list', page=1))

    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 == 1 and movie.title != data['title']:
            flash('片名已经存在', 'err')
            add_admin_oplog('修改<movie_id = %s>预告失败,片名已存在!' % id)
            return redirect(url_for('admin.movie.edit', id=id))
        # 判断是否更改了图片/视频
        if form.url.data.filename != "":
            movie.url = save_url(form)
        if form.logo.data.filename != "":
            movie.log = save_photo(form)

        movie.title = data['title'],
        movie.info = data['info'],
        movie.star = int(data['star']),
        movie.playnum = 0,
        movie.commentnum = 0,
        movie.tag_id = int(data['tag_id']),
        movie.area = data['area'],
        movie.release_time = data['release_time'],
        movie.length = data["length"],
        db.session.add(movie)
        db.session.commit()
        flash('修改电影信息成功!', 'ok')
    return render_template('admin/movie_edit.html', form=form, movie=movie)
Esempio n. 4
0
def movie_edit(id=None):
    form = MovieForm()
    form.url.validators = []
    form.logo.validators = []
    movie = Movie.query.get_or_404(int(id))
    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 == 1 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.filename != "":
            file_url = secure_filename(form.url.data.filename)
            movie.url = change_filename(file_url)
            form.url.data.save(app.config["UP_DIR"] + movie.url)

        if form.logo.data.filename != "":
            file_logo = secure_filename(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.title = data["title"]
        movie.tag_id = data["tag_id"]
        movie.area = data["area"]
        movie.info = data["info"]
        movie.release_time = data["release_time"]
        movie.length = data["length"]
        db.session.add(movie)
        db.session.commit()
        flash("修改电影成功!", "ok")
        return redirect(url_for('admin.movie_edit', id=movie.id))
    return render_template("admin/movie_edit.html", form=form, movie=movie)
Esempio n. 5
0
def movieAdd():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        # 获取到视频的地址
        file_url = form.url.data.filename
        # 获取到封面文件
        file_logo = form.logo.data.filename
        # 定义文件的保存
        # 文件是否存在
        if not os.path.exists(app.config['UP_DIR']):
            # 如果不存在就创建
            os.mkdir(app.config['UP_DIR'])
        # 对视频的名称进行重命名
        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.get('title'),
                      url=url,
                      info=data.get('info'),
                      logo=logo,
                      star=int(data.get('star')),
                      playnum=0,
                      commentnum=0,
                      tag_id=int(data.get('tag_id')),
                      arga=data.get('arga'),
                      release_time=data.get('release_time'),
                      length=data.get('length'))
        db.session.add(movie)
        db.session.commit()
        flash("电影添加成功")
        oplog = OpLog(admin_id=session.get("admin_id"),
                      ip=request.remote_addr,
                      reason="添加电影:{movie}".format(movie=data.get("title")))
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.movieAdd"))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 6
0
def movie_add():
    """
    添加电影页面
    """
    form = MovieForm()
    #==========第二种解决方案============================================
    # if request.method == "GET":
    #     form.tag_id.choices = [(v.id, v.name) for v in Tag.query.all()]

    # ==========第二种解决方案================================================
    if form.validate_on_submit():
        data = form.data
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)
        if not os.path.exists(UP_DIR):
            # 创建一个多级目录
            os.makedirs(UP_DIR)
            os.chmod(UP_DIR, "rw")
        url = change_filename(file_url)
        logo = change_filename(file_logo)
        # 保存
        form.url.data.save(UP_DIR + url)
        form.logo.data.save(UP_DIR + logo)
        # url,logo为上传视频,图片之后获取到的地址
        movie = Movie(
            title=data["title"],
            url=url,
            info=data["info"],
            logo=logo,
            star=int(data["star"]),
            playnum=0,
            commentnum=0,
            tag_id=int(data["tag_id"]),
            area=data["area"],
            release_time=data["release_time"],
            length=data["length"]
        )
        db.session.add(movie)
        db.session.commit()
        flash("添加电影成功!", "ok")
        return redirect(url_for('admin.movie_add'))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 7
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data

        # 提交的片名在数据库中已存在
        if Movie.query.filter_by(title=data['title']).count() == 1:
            flash('电影片名已存在,请检查', category='err')
            return redirect(url_for('admin.movie_add'))

        # 获取上传文件的名称
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)
        # 文件保存路径操作
        file_save_path = app.config['UP_DIR']  # 文件上传保存路径
        if not os.path.exists(file_save_path):
            os.makedirs(file_save_path)  # 如果文件保存路径不存在,则创建一个多级目录
            import stat
            os.chmod(file_save_path, stat.S_IRWXU)  # 授予可读写权限
        # 对上传的文件进行重命名
        url = change_filename(file_url)
        logo = change_filename(file_logo)
        # 保存文件,需要给文件的保存路径+文件名
        form.url.data.save(file_save_path + url)
        form.logo.data.save(file_save_path + logo)

        movie = Movie(title=data['title'],
                      url=url,
                      info=data['info'],
                      logo=logo,
                      star=data['star'],
                      play_num=0,
                      comment_num=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('添加电影成功', 'ok')
        return redirect(url_for('admin.movie_add'))
    return render_template('admin/movie_add.html', form=form)
Esempio n. 8
0
def movie_edit(id):
    form = MovieForm()
    movie = Movie.query.get_or_404(int(id))
    form.url.validators = []
    form.logo.validators = []
    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 >= 1 and movie.title != data['title']:
            flash("片名已存在", "err")
            return redirect(url_for("admin.movie_edit", id=movie.id))

        if not os.path.exists(app.config["UP_DIR"]):
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], stat.S_IRWXU)

        if form.url.data != "":
            file_url = secure_filename(form.url.data.filename)
            movie.url = change_filename(file_url)
            form.url.data.save(app.config["UP_DIR"] + movie.url)

        if form.logo.data != "":
            file_logo = secure_filename(form.logo.data.filename)
            movie.logo = change_filename(file_logo)
            form.logo.data.save(app.config['UP_DIR'] + movie.logo)

        movie.title = data['title']
        movie.info = data['info']
        movie.star = data['star']
        movie.tag_id = data['tag_id']
        movie.area = data['area']
        movie.release_time = data['release_time']
        movie.length = data['length']
        db.session.add(movie)
        db.session.commit()
        flash("编辑电影成功", "ok")
        return redirect(url_for("admin.movie_edit", id=movie.id))
    return render_template("admin/movie_edit.html", form=form, movie=movie)
Esempio n. 9
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        if Movie.query.filter_by(title=data["title"]).count() == 1:
            flash("影片已经存在!", "err")
            return redirect(url_for("admin.movie_add"))
        file_url = secure_filename(form.url.data.filename)  # 获取并转化为安全的电影文件名
        file_logo = secure_filename(form.logo.data.filename)
        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)
        admin_id = session["admin_id"]
        logger.info("操作人id:{0}".format(admin_id))
        movie = Movie(title=data["title"],
                      url=url,
                      info=data["info"],
                      logo=logo,
                      star=int(data["star"]),
                      playnum=0,
                      commentnum=0,
                      tag_id=int(data["tag_id"]),
                      area=data["area"],
                      release_time=data["release_time"],
                      length=data["length"],
                      creater_id=admin_id)
        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_add"))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 10
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        movie_count = Tag.query.filter_by(name=data['title']).count()
        if movie_count >= 1:
            flash('片名已存在', 'err')
            return redirect(url_for('admin.movie_add'))
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)
        if not os.path.exists(app.config['UP_DIR']):
            os.makedirs(app.config['UP_DIR'])  # 创建目录
            os.chmod(app.config['UP_DIR'], stat.S_IRWXU)  # 授权可读写
        url = change_filename(file_url)
        logo = change_filename(file_logo)
        form.url.data.save(app.config['UP_DIR'] + url)
        form.url.data.save(app.config['UP_DIR'] + logo)
        movie = Movie(
            title=data['title'],
            url=url,
            info=data['info'],
            logo=logo,
            star=int(data['star']),
            playnum=0,
            commentnum=0,
            tag_id=int(data['tag_id']),
            area=data['area'],
            release_time=data['release_time'],
            length=data['length']
        )
        oplog = Oplog(
            admin_id=session['admin_id'],
            reason='添加电影:%s' % data['title'],
            ip=request.remote_addr
        )
        db.session.add(movie)
        db.session.add(oplog)
        db.session.commit()
        flash('添加电影成功', 'ok')
        return redirect(url_for('admin.movie_add'))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 11
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        # file_url = secure_filename(''.join(lazy_pinyin(form.url.data.filename)))
        # file_logo = secure_filename(''.join(lazy_pinyin(form.logo.data.filename)))
        if not os.path.exists(app.config['MOVIE_DIR']):
            os.makedirs(app.config['MOVIE_DIR'])
            os.chmod(app.config['MOVIE_DIR'], 'rw')
        if not os.path.exists(app.config['LOGO_DIR']):
            os.makedirs(app.config['LOGO_DIR'])
            os.chmod(app.config['LOGO_DIR'], 'rw')
        # url = change_filename(file_url)
        url = form.url.data.filename
        # logo = change_filename(file_logo)
        logo = form.logo.data.filename
        form.url.data.save(app.config['MOVIE_DIR'] + url)
        form.logo.data.save(app.config['LOGO_DIR'] + logo)
        movie = Movie(
            title=data['title'],
            url=url,
            info=data['info'],
            logo=logo,
            star=data['star'],
            playnum=0,
            commentnum=0,
            tag_id=data["tag_id"],
            area=data['area'],
            length=data['length'],
            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_add'))
    return render_template('admin/movie_add.html', form=form)
Esempio n. 12
0
def movie_add():
    '''
    电影添加
    '''
    form = MovieForm()
    if form.validate_on_submit():
        print(request.files["url"].filename)
        file_url = secure_filename(request.files["url"].filename)
        file_logo = secure_filename(request.files["logo"].filename)
        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=form.title.data,
            url=url,
            info=form.info.data,
            logo=logo,
            star=int(form.star.data),
            playnum=0,
            commentnum=0,
            tag_id=int(form.tag_id.data),
            area=form.area.data,
            release_time=form.release_time.data,
            length=form.length.data,
        )
        db.session.add(movie)
        db.session.commit()

        # 将图片 视频上传到oss空间中
        oss = Oss()
        oss.putfile(url, app.config['UP_DIR'] + url)
        oss.putfile(url, app.config['UP_DIR'] + logo)
        print(url)

        flash("添加电影成功!", "ok")
        return redirect(url_for('admin.movie_list', page=1))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 13
0
def movie_edit(id=None):
    form = MovieForm()
    form.url.validators = []
    form.logo.validators = []
    movie = app_models.Movie.query.get_or_404(int(id))
    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 = app_models.Movie.query.filter_by(
            title=data['title']).count()
        if movie_count == 1 and movie.title != data['title']:
            flash('片名已经存在!', 'err')
            return redirect(url_for('admin.movie_edit', id=movie.id))

        if form.url.data and form.url.data.filename != '':
            file_url = secure_filename(form.url.data.filename)
            url = change_filename(file_url)
            form.url.data.save(app.config['UP_DIR'] + url)

        if form.logo.data and form.logo.data.filename != '':
            file_logo = secure_filename(form.logo.data.filename)
            logo = change_filename(file_logo)
            form.logo.data.save(app.config['UP_DIR'] + 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')
        return redirect(url_for('admin.movie_edit', id=movie.id))
    return render_template('admin/movie_edit.html', form=form, movie=movie)
Esempio n. 14
0
def movie_edit(id=None):
    '''编辑电影页面'''
    form = MovieForm()
    form.url.validators = []
    form.logo.validators = []
    movie = Movie.query.get_or_404(id)
    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
        # 创建目录
        if not os.path.exists(app.config['UP_DIR']):
            os.makedirs(app.config['UP_DIR'])
            os.chmod(app.config['UP_DIR'], 771)
        # 上传视频
        if form.url.data != '':
            file_url = secure_filename(form.url.data.filename)
            movie.url = change_filename(file_url)
            form.url.data.save(app.config['UP_DIR'] + movie.url)
        # 上传图片
        if form.logo.data != '':
            file_logo = secure_filename(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")
        return redirect(url_for('admin.movie_edit', id=id))
    return render_template("admin/movie_edit.html", form=form, movie=movie)
Esempio n. 15
0
def movie_add():
    """添加电影"""
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)
        if not os.path.exists(app.config["UP_DIR"]):
            # 创建一个多级目录
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], "rw")
        # url,logo为上传视频,图片之后得到的地址
        url = change_filename(file_url)
        logo = change_filename(file_logo)
        # 保存url和logo
        form.url.data.save(app.config["UP_DIR"] + url)
        form.logo.data.save(app.config["UP_DIR"] + logo)
        movie_count = Movie.query.filter_by(title=data["title"]).count()
        # 已存在该上映预告
        if movie_count == 1:
            flash("片名已经存在,请重新编辑!", "err")
            return redirect(url_for('admin.movie_add'))
        movie = Movie(
            title=data['title'],
            url=url,
            info=data['info'],
            logo=logo,
            star=int(data['star']),
            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("添加电影成功!", "ok")
        return redirect(url_for('admin.movie_add'))
    return render_template('admin/movie_add.html', form=form)
Esempio n. 16
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)

        if not os.path.exists(app.config["UP_DIR"]):
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], stat.S_IRWXU)

        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"]),
            playnum=0,
            commentnum=0,
            tag_id=int(data["tag_id"]),
            area=data["area"],
            release_time=data["release_time"],
            length=data["length"],
        )
        db.session.add(movie)
        oplog = OpLog(
            admin_id=session["admin_id"],
            ip=request.remote_addr,
            reason='添加电影"{0}"'.format(movie.title),
        )
        db.session.add(oplog)
        db.session.commit()
        flash('电影"{0}"添加成功!'.format(data["title"]), "ok")
        return redirect(url_for("admin.movie_add"))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 17
0
def movie_add():
    form = MovieForm()
    # 编写验证逻辑
    if form.validate_on_submit():
        # 获取前端表单数据
        data = form.data
        file_url = secure_filename(form.url.data.filename)
        # fiel_logo=form.logo.data.filename
        # 包裹之后,安全
        file_logo = secure_filename(form.logo.data.filename)
        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,  # 在init文件里面设设置
            info=data['info'],
            logo=logo,
            star=int(data["star"]),
            playnum=0,
            commentnum=0,
            tag_id=int(data["tag_id"]),
            area=data["area"],
            release_time=data["release_time"],
            length=data["length"])
        db.session.add(movie)
        db.session.commit()
        flash("添加电影成功!", "ok")
        return redirect(url_for("admin.movie_add"))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 18
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        movie = Movie(
            title = data["title"],
            url = url,
            info = data["info"],
            logo = logo,
            star = data["star"],
            playnum = 0,
            commentnum = 0,
            tag_id = data["tag_id"],
            area = data["area"],
            lenth = data["lenth"],
            release_time = data["release_time"]
        )
        db.session.add(movie)
        db.session.commit()
        flash("添加电影成功!","ok")
        return redirect(url_for("admin.movie_add"))
    return render_template("admin/movie_add.html",form=form)
Esempio n. 19
0
def movie_edit(id=None):
    form = MovieForm()
    form.url.validators.clear()  #= []
    form.logo.validators.clear()  # = []
    movie = Movie.query.get_or_404(int(id))
    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 == 1 and movie.title != data["title"]:
            flash("片名%s已经存在!" % data["title"], "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_DIT"], "rw")
        if form.url.data != "":
            file_url = secure_filename(form.url.data.filename)
            url = change_filename(file_url)
            form.url.data.save(app.config["UP_DIR"] + url)
        if form.logo.data != "":
            file_logo = secure_filename(form.logo.data.filename)
            logo = change_filename(file_logo)
            form.logo.data.save(app.config["UP_DIR"] + 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 = datetime.datetime(
            *(tuple(map(int, data["release_time"].split("-")))))
        db.session.add(movie)
        db.session.commit()
        flash("修改电影%s成功" % data["title"], "OK")
        return redirect(url_for("admin.movie_edit", id=id))
    return render_template("admin/movie_edit.html", form=form, movie=movie)
Esempio n. 20
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        title = Movie.query.filter_by(title=data['title']).count()
        if title != 0:
            flash('电影名称已经存在', 'err')
            return redirect(url_for('admin.movie_add'))
        elif form.url.data == '' or form.logo.data == '':
            flash('文件或封面不能为空', 'err')
            return redirect(url_for('admin.movie_add'))
        else:
            file_url = secure_filename(form.url.data.filename)
            file_logo = secure_filename(form.logo.data.filename)
            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']),
                playnum=0,
                commentnum=0,
                tag_id=int(data['tag_id']),
                area=data['area'],
                release_time=data['release_time'],
                length=data['length'],
            )
            db.session.add(movie)
            db.session.commit()
            flash('添加电影成功', 'ok')
            return redirect(url_for('admin.movie_add'))
    return render_template('admin/movie_add.html', form=form)
Esempio n. 21
0
def movie_add():
    """
	电影添加页面, 这里的电影播放器能够正常使用
	"""
    form = MovieForm()
    form.tag_id.choices = [(v.id, v.name) for v in Tag.query.all()]

    if form.validate_on_submit() is True:
        data = form.data
        path = create_app().config['UP_DIR']

        if os.path.exists(path) is False:
            os.makedirs(path)  # 当保存路径不存在时进行创建 √

        url = change_filename(form.url.data.filename)
        logo = change_filename(form.logo.data.filename)

        form.url.data.save(path + url)
        form.logo.data.save(path + logo)

        movie = Movie(  # 能够将文件名成功保存到数据库中 √
            title=data['title'],
            url=url,
            info=data['info'],
            logo=logo,
            star=int(data['star']),
            play_num=0,
            comment_num=0,
            tag_id=int(data['tag_id']),
            area=data['area'],
            release_time=data['release_time'],
            length=data['length'],
        )
        db.session.add(movie)
        db.session.commit()
        flash('电影添加成功', 'ok')
        return redirect(url_for('admin.movie_add'))
    return render_template('admin/movie_add.html', form=form)
Esempio n. 22
0
def movie_add():
    from app.admin.forms import MovieForm
    from app.models import Movie
    from app import db, app
    from werkzeug.utils import secure_filename
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        # 上传文件
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)
        # 自动创建上传文件
        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']),
            playnum=0,
            commentnum=0,
            tag_id=int(data['tag_id']),
            area=data['area'],
            release_time=data['release_time'],
            length=data['length']
        )
        db.session.add(movie)
        db.session.commit()
        flash("添加电影成功", "ok")
        return redirect(url_for("admin.movie_add"))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 23
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        file_url = str(form.url.data.filename)
        file_logo = str(form.logo.data.filename)
        if not os.path.exists(app.config["UP_DIR_MOVIE"]):
            os.makedirs(app.config["UP_DIR_MOVIE"])
            os.chmod(app.config["UP_DIR_MOVIE"], "rw")

        if not os.path.exists(app.config["UP_DIR_MOVIE_IMG"]):
            os.makedirs(app.config["UP_DIR_MOVIE_IMG"])
            os.chmod(app.config["UP_DIR_MOVIE_IMG"], "rw")

        url = change_filename(file_url)
        logo = change_filename(file_logo)
        form.url.data.save(app.config["UP_DIR_MOVIE"] + url)
        form.logo.data.save(app.config["UP_DIR_MOVIE_IMG"] + logo)
        movie = Movie(
            title=data['title'],
            url=url,
            info=data['info'],
            logo=logo,
            star=int(data['star']),
            playnum=0,
            commentnum=0,
            area=data['area'],
            release_time=data['release_time'],
            length=data['length'],
            tag_id=int(data['tag_id'])
        )
        db.session.add(movie)
        db.session.commit()
        flash("电影添加成功!", 'ok')
        # 操作日志
        add_log('添加电影《%s》' % movie.title)
        return redirect(url_for('admin.movie_add'))
    return render_template('admin/movie_add.html', form=form)
Esempio n. 24
0
def movie_add():
    """
    添加电影页面
    """
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)
        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)
        # url,logo为上传视频,图片之后获取到的地址
        movie = Movie(
            title=data["title"],
            url=url,
            user_id=40,
            info=data["info"],
            logo=logo,
            star=int(data["star"]),
            playnum=0,
            commentnum=0,
            likenum=0,
            tag_id=14,
            #area=data["area"],
            #release_time=data["release_time"],
            length="00:00")
        db.session.add(movie)
        db.session.commit()
        flash("添加电影成功!", "ok")
        return redirect(url_for('admin.movie_add'))
    return render_template("admin/movie_add.html", form=form)
Esempio n. 25
0
def movie_update(id):
    form = MovieForm()
    form.url.validators = []  #不修改这个值,直接设置为空
    form.logo.validators = []
    movie = Movie.query.get_or_404(id)
    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 == 1 and movie.title != data["title"]:
            flash(u"修改失败", 'err')
            return redirect(url_for('admin.movie_update', id=id))

        if form.url.data.filename != "":  #判断我们是否更改图片了  空就是没有更改
            file_url = secure_filename(form.url.data.filename)
            movie.url = change_filename(file_url)
            form.url.data.save(app.config["UP_DIR"] + movie.url)
        if form.logo.data.filename != "":
            file_logo = secure_filename(form.logo.data.filename)
            movie.logo = change_filename(file_logo)
            form.logo.data.save(app.config["UP_DIR"] + movie.logo)

        movie.title = data["title"]
        movie.info = data["info"]
        movie.star = data["star"]
        movie.tag_id = data["tag_id"]
        movie.area = data["area"]
        movie.release_time = data["release_time"]
        movie.length = data["length"]
        db.session.add(movie)
        db.session.commit()
        flash(u"修改电影成功", 'OK')
        return redirect(url_for('admin.movie_update', id=id))
    return render_template("admin/movie_update.html", form=form,
                           movie=movie)  #movie=movie传进初始值,方便我们参考修改
Esempio n. 26
0
 def create_movie(self, num=20):
     star_lst = []
     for i in range(1, 6):
         star_lst.extend([i] * i)
     for i in range(1, num + 1):
         file_name = f'media\\{random.choice(movie_lst)}'
         file_name_logo = f'media\\{random.choice(movie_logo_lst)}'
         with open(file_name, 'rb') as f, open(file_name_logo,
                                               'rb') as f_logo:
             movie = Movie()
             form = MovieForm()
             title, tag_name, area = random.choice(title_lst)
             form.title.data = f'{title}-{i}'
             form.tag_id.data = Tag.query.filter_by(
                 name=tag_name).first().id
             form.url.data = FileStorage(f)
             form.logo.data = FileStorage(f_logo)
             form.area.data = area
             form.intro.data = f'{title}-{i}'
             form.star.data = random.choice(star_lst)
             form.length.data = random.randint(90, 150)
             form.publish_time.data = gen_date()
             movie.add(form, record_log=False)
Esempio n. 27
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        source = save_url(form)
        movie = Movie(
            title=data['title'],
            url=source[0],
            info=data['info'],
            star=int(data['star']),
            logo=source[-1],
            playnum=0,
            commentnum=0,
            tag_id=int(data['tag_id']),
            area=data['area'],
            release_time=data['release_time'],
            length=data["length"],
        )
        db.session.add(movie)
        db.session.commit()
        flash('添加电影成功', 'ok')
        return redirect(url_for('admin.movie_add'))
    return render_template('admin/movie_add.html', form=form)
Esempio n. 28
0
def addfilm():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        film = Movie.query.filter_by(title=data['title']).count()
        if film == 1:
            flash('片名已存在', 'err')
            return redirect(url_for('admin.addfilm'))
        #文件路径的处理
        #secure_filename不支持中文(todo)
        # file_url = secure_filename(form.url.data.filename)
        # file_logo = secure_filename(form.logo.data.filename)
        file_url = form.url.data.filename
        file_logo = form.logo.data.filename
        url = change_filename(file_url)
        logo = change_filename(file_logo)
        if not os.path.exists(app.config["UP_DIR"]):
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], "rw")
        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']),
                      playnum=0,
                      commentnum=0,
                      tag_id=int(data['tag_id']),
                      area=data['area'],
                      length=data['length'],
                      release_time=str(data['release_time']))
        db.session.add(movie)
        db.session.commit()
        flash('添加电影成功!', 'ok')
        return redirect(url_for('admin.addfilm'))
    return render_template("admin/addfilm.html", form=form)
Esempio n. 29
0
def movie_add():
    """
    添加电影页面
    :return:
    """
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)
        if not os.path.exists(mainapp.config["UP_DIR"]):
            #创建一个多级目录
            os.makedirs(mainapp.config["UP_DIR"])
            os.chmod(mainapp.config["UP_DIR"],"rw")
        url = change_filename(file_url)
        logo = change_filename(file_logo)
        #保存
        form.url.data.save(mainapp.config["UP_DIR"] + url)
        form.url.data.save(mainapp.config["UP_DIR"] + logo)
        movie = Movie(
            title=data["title"],
            url=url,
            info=data["info"],
            logo=logo,
            star=data["star"],
            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("添加电影成功","ok")
        return redirect(url_for("admin.movie_add"))
    return render_template("admin/movie_add.html",form=form)
Esempio n. 30
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        file_logo = secure_filename(form.logo.data.filename)
        if not os.path.exists(app.config["UP_DIR"]):
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], "rw")
        logo = change_filename(file_logo)
        form.logo.data.save(app.config["UP_DIR"] + logo)

        movies = Movie(title=data["title"],
                       url=data["url"],
                       description=data["info"],
                       star=data["star"],
                       logo=logo,
                       tag_id=data["tag_id"],
                       length=data["length"],
                       area=data["area"],
                       release_time=data["release_time"],
                       play_num=0,
                       comment_num=0)

        db.session.add(movies)
        db.session.commit()
        flash("添加电影成功", "OK")

        # 添加操作日志
        operatelog = OperateLog(admin_id=session["admin_id"],
                                ip=request.remote_addr,
                                reason="添加电影:" + data["title"])

        db.session.add(operatelog)
        db.session.commit()
        return redirect(url_for("admin.movie_add"))

    return render_template("admin/movie_add.html", form=form)