关于python:flask视频网站后台管理

50次阅读

共计 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)  # 渲染出原信息 

正文完
 0