预报的增加和列表
@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 = 1page_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)) # 如果没有间接跳到404db.session.delete(preview) # 评论等数据和movie关联,movie是主表,所以会连带一起删除db.session.commit()flash("预报删除胜利!", "ok") # 小写 okreturn 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)) # 如果没有间接跳到404if 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) # 渲染出原信息