Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3648483
  • 博文数量: 365
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2522
  • 用 户 组: 普通用户
  • 注册时间: 2019-10-28 13:40
文章分类

全部博文(365)

文章存档

2023年(8)

2022年(130)

2021年(155)

2020年(50)

2019年(22)

我的朋友

分类: Python/Ruby

2021-12-02 17:33:28

# 预告的添加和列表

@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/')

@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/')

@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("外汇跟单gendan5.com预告删除成功!", "ok")  # 小写 ok

    return redirect(url_for("admin.preview_list", page=1))  # 重定向,模板渲染有add edit list

@admin.route('/preview/edit/', 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 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)  # 渲染出原信息

阅读(1008) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~