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)
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)
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)
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)
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)
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))
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))
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))
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)