共计 2215 个字符,预计需要花费 6 分钟才能阅读完成。
预报的增加和列表
@admin.route(‘/preview/add’, methods=[‘GET’, ‘POST’])
@admin_login
def preview_add():
'''和电影增加一样的过程'''
form = PreviewForm()
if form.validate_on_submit():
# 过滤
file_logo = secure_filename(form.logo.data.filename)
# 筹备存储门路
if not os.path.exists(app.config["UP_DIR"]):
os.mkdir(app.config["UP_DIR"])
os.chmod(app.config["UP_DIR"], "rw")
# 更改文件名
file_logo = changeFileName(file_logo)
# 保留文件
form.logo.data.save(app.config["UP_DIR"] + file_logo)
data = form.data
# 筹备一条数据入库
preview = Preview(title = data["title"],
logo = file_logo # 存名字即可
)
db.session.add(preview)
db.session.commit()
flash("增加预报胜利!", "ok")
return redirect(url_for('admin.preview_add'))
return render_template('admin/previewadd.html', form=form)
@admin.route(‘/preview/list/<int:page>’)
@admin_login
def preview_list(page=None):
if page==None:
page = 1
page_data = Preview.query.order_by(Preview.addtime.desc()
).paginate(page=page, per_page=10) # 视图局部提供数据,字典模式;前台局部应用 macro 渲染
return render_template('admin/previewlist.html', page_data=page_data)
@admin.route(‘/preview/del/<int:id>’)
@admin_login
def preview_del(id=None):
preview = Preview.query.get_or_404(int(id)) # 如果没有间接跳到 404
db.session.delete(preview) # 评论等数据和 movie 关联,movie 是主表,所以会连带一起删除
db.session.commit()
flash("预报删除胜利!", "ok") # 小写 ok
return redirect(url_for("admin.preview_list", page=1)) # 重定向,模板渲染有 add edit 和 list
@admin.route(‘/preview/edit/<int:id>’, methods=[‘GET’, ‘POST’])
@admin_login
def preview_edit(id=None):
form = PreviewForm()
form.logo.validators = []
preview = Preview.query.get_or_404(int(id)) # 如果没有间接跳到 404
if form.validate_on_submit(): # POST
data = form.data
m = Preview.query.filter_by(title=data['title']).count()
if m == 1 and form.logo.data.filename == "":
flash("预报已存在", "err")
return [PerfectMoney 下载](https://www.gendan5.com/wallet/PerfectMoney.html)redirect(url_for("admin.preview_edit", id=id))
preview.title = data["title"]
# 筹备门路
if not os.path.exists(app.config["UP_DIR"]):
os.mkdir(app.config["UP_DIR"])
os.chmod(app.config["UP_DIR"], "rw")
if form.logo.data.filename != "":
file_logo = secure_filename(form.logo.data.filename)
preview.logo = changeFileName(file_logo)
form.logo.data.save(app.config["UP_DIR"] + preview.logo)
db.session.add(preview) # 批改
db.session.commit()
flash("批改胜利", "ok")
return redirect(url_for('admin.preview_list', page=1))
return render_template("admin/previewedit.html", form=form, preview=preview) # 渲染出原信息
正文完