def admin_add(): form = AdminForm() form.role_id.choices = [(0, "未选择")] + [(v.id, v.name) for v in Role.query.all()] if form.validate_on_submit(): data = form.data admin = Admin(name=data["name"], pwd=form.pwd.data, role_id=data["role_id"], is_super=1) db.session.add(admin) 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.admin_add")) return render_template("admin/admin_add.html", form=form)
def tag_edit(id): form = TagForm() 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 == 1: flash("名称已经存在!", "err") return redirect(url_for('admin.tag_edit')) 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_edit', id=id)) return render_template("admin/tag_edit.html", form=form, tag=tag)
def preview_add(): form = PreviewForm() 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) preview = Preview( title=data['title'], logo=logo, ) db.session.add(preview) oplog = Oplog( ip=request.remote_addr, admin_id=session["admin_id"], reson='添加预告' + '<' + preview.title + '>', ) db.session.add(oplog) db.session.commit() flash('添加电影预告成功', 'ok') return redirect((url_for('admin.preview_add'))) username = get_username() context = { 'username': username } return render_template("admin/preview_add.html", form=form, context=context)
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)
def newsinfo_add(): form = NewsInfoForm() form.tag.choices = [(nt.id, nt.name) for nt in NewsTag.query.all()] form.remark.data = "声明:本网所刊载的所有信息,包括文字、图片、软件、声音、相片、录像、图表,广告、商业信息及电子邮件" \ "的全部内容,除特别标明之外,版权归中国计算机技术职业资格网所有。未经本网的明确书面许可,任何单位或" \ "个人不得以任何方式作全部或局部复制、转载、引用,再造或创造与该内容有关的任何派生产品,否则本网将追究其法律责任。 本网凡特别注明稿件来源的文/图等稿件为转载稿," \ "本网转载出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。" \ "如对稿件内容有疑议,请及时与我们联系。 如本网转载稿涉及版权问题,请作者在两周内速来电或来函与我们联系,我们将及时按作者意愿予以更正。" if form.validate_on_submit(): data = form.data ni = NewsInfo.query.filter_by(title=data["title"]).count() if ni == 1: flash("此标题已经存在!不能重复添加", "err") return redirect(url_for("admin.newsinfo_add")) img = "" if form.img.data != "": info_img = secure_filename(form.img.data.filename) if not os.path.exists(app.config["UP_NEWS_INFO_DIR"]): # 处理文件 os.makedirs(app.config["UP_NEWS_INFO_DIR"]) os.chmod(app.config["UP_NEWS_INFO_DIR"], stat.S_IRWXU) # stat.S_IRWXU − Read, write, and execute by owner. img = change_filename(info_img) # 处理文件结束 form.img.data.save(app.config["UP_NEWS_INFO_DIR"] + img) newsinfo = NewsInfo(title=data["title"], content=data["info"], view_num=0, admin_id=1, newstag_id=data["tag"], img=img, remark=data["remark"]) db.session.add(newsinfo) db.session.commit() flash("添加资讯成功", "OK") oplog = Oplog(admin_id=session["admin_id"], ip=request.remote_addr, opdetail="添加了新闻资讯,名为:%s" % (data["title"])) db.session.add(oplog) db.session.commit() return redirect(url_for("admin.newsinfo_add")) return render_template("admin/newsinfo_add.html", form=form)
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)
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)
def tag_add(): form = TagForm() if form.validate_on_submit(): data = form.data # 通过标签名字段查询数据库中的tag表获取一条查询集 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() # 将此次添加标签的操作数据记录在操作日志数据库中 oplog = Oplog(admin_id=session["admin_id"], ip=request.remote_addr, reason="添加标签%s" % data["name"]) db.session.add(oplog) db.session.commit() flash("添加成功", "ok") redirect(url_for('admin.tag_add')) return render_template("admin/tag_add.html", form=form)
def auth_add(): form = AuthForm() if form.validate_on_submit(): data = form.data auth = Auth( name=data["name"], url=data["url"] ) db.session.add(auth) oplog = Oplog( admin_id=session["admin_id"], ip=request.remote_addr, reason="添加权限控制 " "name: {0} " "url: {1}".format(auth.name, auth.url) ) db.session.add(oplog) db.session.commit() flash("权限添加成功", "ok") return redirect(url_for("admin.auth_add")) return render_template("admin/auth_add.html", form=form)
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)
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)
def role_add(): form = RoleForm() # 在 forms 里面查出的 auths 不会自动更新的 后期看看有没有其他方法 没有的话就用这个吧。 # form.auths.choices = [(i.id, i.name) for i in Auth.query.all()] if form.validate_on_submit(): data = form.data role = Role( name=data["name"], auths=",".join(map(lambda i: str(i), data["auths"])) ) db.session.add(role) oplog = Oplog( admin_id=session["admin_id"], ip=request.remote_addr, reason="添加角色:{0}".format(role.name) ) db.session.add(oplog) db.session.commit() flash("添加角色成功", "ok") return redirect(url_for("admin.role_add")) return render_template("admin/role_add.html", form=form)
def tag_add(): form = TagForm() if form.validate_on_submit(): data = form.data tagCount = Tag.query.filter_by(name=data["tagName"]).count() if tagCount == 1: flash("Tag already exists", "err") return redirect(url_for("admin.tag_add")) tag = Tag(name=data["tagName"]) db.session.add(tag) db.session.commit() flash("Successfully added", "ok") oplog = Oplog(admin_id=session["admin_id"], ip=request.remote_addr, reason="Tag added : %s" % data["tagName"]) db.session.add(oplog) db.session.commit() return redirect(url_for("admin.tag_add")) return render_template("admin/tag_add.html", form=form)
def role_edit(id=None): form = RoleForm() role = Role.query.get_or_404(int(id)) if request.method == 'GET': auths = role.auths form.auths.data = list(map(lambda v: int(v), auths.split(','))) if form.validate_on_submit(): data = form.data role.name = data['name'] role.auths = ','.join(map(lambda v: str(v), data['auths'])) db.session.add(role) db.session.commit() oplog = Oplog(admin_id=session['admin_id'], ip=request.remote_addr, reason='管理员%s修改角色%s的相关信息' % (session['admin'], data['name'])) db.session.add(oplog) db.session.commit() flash('修改角色成功!', 'ok') return redirect(url_for('admin.role_edit', id=id)) return render_template('admin/role_edit.html', form=form, role=role)
def preview_add(): form = PreviewForm() 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) preview = Preview(title=data["title"], logo=logo) db.session.add(preview) db.session.commit() oplog = Oplog(admin_id=session['admin_id'], ip=request.remote_addr, reason='管理员%s添加预告%s' % (session['admin'], data['title'])) db.session.add(oplog) db.session.commit() flash("添加预告成功!", "ok") return redirect(url_for('admin.preview_add')) return render_template('admin/preview_add.html', form=form)
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="添加标签{}".format(data['name'])) db.session.add(oplog) db.session.commit() redirect(url_for('admin.tag_add')) return render_template("admin/tag_add.html", form=form)
def addrole(): form = RoleForm() if form.validate_on_submit(): data = form.data role = Role.query.filter_by(name=data["name"]).count() if role == 1: flash("该角色已经存在", 'err') return redirect(url_for('admin.addrole')) role = Role(name=data['name'], auths=",".join(map(lambda v: str(v), data['auths']))) db.session.add(role) 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() redirect(url_for("admin.addrole")) return render_template('admin/add_role.html', form=form)
def add_admin(): if not request.json or not 'name' in request.json or not 'password' in request.json: return jsonify({'status': 400}) name = request.json['name'] password = request.json['password'] result = User.query.filter_by(name=name).count() if result is not 0: return jsonify({'flag': 'error', 'reason': '该账号已经注册', 'status': 400}) admin = User(name=name, password=password, role=ADMINISTRATOR) db.session.add(admin) op_log = Oplog(id=g.user_id, reason='添加管理员') db.session.add(op_log) db.session.commit() return jsonify({ 'flag': 'success', 'status': 200, })
def tag_add(): from app.models import db 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() redirect(url_for('admin.tag_add')) return render_template("admin/tag_add.html", form=form)
def tag_add(): form = TagForm() # print(form.name.errors) 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() # 添加 管理员增加标签log日志 oplog = Oplog(admin_id=session["admin_id"], ip=request.remote_addr, reason="添加标签%s" % data["name"]) db.session.add(oplog) db.session.commit() flash("标签添加成功", "ok") # 闪现消息 redirect(url_for("admin.tag_add")) return render_template("admin/tag_add.html", form=form)
def auth_edit(id=None): form = AuthForm() auth = Auth.query.get_or_404(id) if form.validate_on_submit(): data = form.data auth_count = Auth.query.filter_by(name=data["name"]).count() if auth.name != data['name'] and auth_count == 1: flash("名称已经存在!", "err") return redirect(url_for('admin.auth_edit', id=id)) auth.name = data['name'] auth.url = data['url'] db.session.add(auth) db.session.commit() flash("修改权限成功!", 'ok') oplog = Oplog(admin_id=session["admin_id"], ip=request.remote_addr, reason="修改权限:{}".format(data["name"], )) db.session.add(oplog) db.session.commit() redirect(url_for('admin.auth_edit', id=id)) return render_template("admin/auth_edit.html", form=form, auth=auth)
def role_add(): form = RoleForm() form.auths.choices = [(0, '未选择')] + [(v.id, v.name) for v in Auth.query.all()] print(form.auths.choices, '草草草') if form.validate_on_submit(): data = form.data role = Role(name=data["name"], auths=",".join(map(lambda v: str(v), data["auths"]))) db.session.add(role) 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.role_add")) return render_template('admin/role_add.html', form=form)
def tag_edit(id=None): form = TagForm() tag = Tag.query.get_or_404(id) if form.validate_on_submit(): data = form.data tag_conut = Tag.query.filter_by(name=data['name']).count() if tag.name != data['name'] and tag_conut == 1: flash('标签已经存在!', 'err') return redirect(url_for('admin.tag_edit', id=id)) tag_name = tag.name 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 "修改为" %s "' % (tag_name, data['name'])) db.session.add(oplog) db.session.commit() return redirect(url_for('admin.tag_edit', id=id)) return render_template('admin/tag_edit.html', form=form, tag=tag)
def movie_del(id=None): if id: movie = Movie.query.filter_by(id=id).first_or_404() file_save_path = app.config['UP_DIR'] # 文件上传保存路径 # 同时删除之前上传的文件和封面 if os.path.exists(os.path.join(file_save_path, movie.url)): os.remove(os.path.join(file_save_path, movie.url)) if os.path.exists(os.path.join(file_save_path, movie.logo)): os.remove(os.path.join(file_save_path, movie.logo)) db.session.delete(movie) db.session.commit() flash('删除电影成功', category='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_edit(id=None): form = TagForm() 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 == 1: flash('标签名称已存在', category='err') return redirect(url_for('admin.tag_edit', id=id)) tag.name = data['name'] db.session.commit() flash('标签修改成功', category='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_edit', id=id)) return render_template('admin/tag_edit.html', form=form, tag=tag)
def newstag_add(): form = NewsTagForm() # 每次刷新列表 form.category.choices = [(v.id, v.name) for v in NewsCategory.query.all()] if form.validate_on_submit(): data = form.data nt = NewsTag.query.filter_by(name=data["name"]).count() if nt == 1: flash("此标签名已经存在!不能重复添加", "err") return redirect(url_for("admin.newstag_add")) newstag = NewsTag(name=data["name"], newscategory_id=data["category"]) db.session.add(newstag) db.session.commit() flash("添加标签成功", "OK") oplog = Oplog(admin_id=session["admin_id"], ip=request.remote_addr, opdetail="添加了新闻标签,名为:%s" % (data["name"])) db.session.add(oplog) db.session.commit() return redirect(url_for("admin.newstag_add")) return render_template("admin/newstag_add.html", form=form)
def movieadd(): form = MoiveForm() 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) moive = Moive(title=data["title"], url=url, info=data["info"], logo=logo, start=int(data["start"]), tag_id=int(data["tag_id"]), playnum=0, commentnum=0, area=data["area"], length=data["length"], release_time=data["release_time"]) db.session.add(moive) 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.movieadd")) return render_template('admin/movie_add.html', form=form)
def preview_edit(id=None): form = PreviewForm() form.logo.validators = [] preview = Preview.query.get_or_404(id) page = page_data.page if page_data is not None else 1 if form.validate_on_submit(): data = form.data preview_count = Preview.query.filter_by(title=data["title"]).count() if preview_count == 1 and preview.title != data['title']: flash("预告标题已经存在!", "err") return redirect(url_for("admin.preview_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.logo.data.filename != '': old_logo = preview.logo file_logo = secure_filename(form.logo.data.filename) preview.logo = change_filename(file_logo) form.logo.data.save(app.config['UP_DIR'] + preview.logo) if os.path.exists(app.config['UP_DIR'] + old_logo): os.remove(app.config['UP_DIR'] + old_logo) oplog = Oplog(admin_id=session["admin_id"], ip=request.remote_addr, reason="修改电影预告:%s(原名:%s)" % (data["title"], preview.title)) db.session.add(oplog) db.session.commit() preview.title = data["title"] db.session.add(preview) db.session.commit() flash("修改预告成功!", "ok") return redirect(url_for("admin.preview_list", page=page)) return render_template("admin/preview_edit.html", form=form, preview=preview, page=page)
def auth_edit(id=None): auth = Auth.query.get_or_404(int(id)) form = AuthForm() if form.validate_on_submit(): data = form.data auth_count = Auth.query.filter_by(name=data['name']).count() if auth.name != data['name'] and auth_count == 1: flash('权限名称已存在', category='err') return redirect(url_for('admin.auth_edit', id=id)) auth.name = data['name'] auth.url = data['url'] db.session.commit() flash('权限修改成功', category='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.auth_edit', id=id)) return render_template('admin/auth_edit.html', form=form, auth=auth)
def tlevel_edit(id=None): form = TlevelForm() tlevel = Tlevel.query.get_or_404(id) old_level = tlevel.level if form.validate_on_submit(): data = form.data tl = Tlevel.query.filter_by(level=data["level"]).count() if tlevel.level != data["level"] and tl == 1: flash("此级别已经存在!不能重复添加", "err") return redirect(url_for("admin.tlevel_edit", id=id)) tlevel.level = data["level"] db.session.add(tlevel) db.session.commit() flash("修改级别成功", "OK") oplog = Oplog(admin_id=session["admin_id"], ip=request.remote_addr, opdetail="修改了考试级别,原级别名为:%s,新级别名为:%s" % (old_level, data["level"])) db.session.add(oplog) db.session.commit() return redirect(url_for("admin.tlevel_edit", id=id)) return render_template("admin/tlevel_edit.html", form=form, tlevel=tlevel)