11.6 博客文章编辑器

    本节我们为Web程序添加编辑文章的功能。

一. 修改|-app/-main/views.py

@main.route('edit/<int:id>')

@login_required

def edit(id):

    post = Post.query.get_or_404(id)

    if current_user != post.author and not current_user.is_administrator():

        abort(403)

    form = PostForm()

    if form.validate_on_submit():

        post.body = form.body.data

        db.session.add(post)

        flash('Your post has been updated.')

        return redirect(url_for('main.post', id=post.id))

    form.body.data = post.body

    return render_template('edit_post.html', form=form)


二. 修改|-app/templates/edit_post.html

{% extends "base.html" %}

{% import "bootstrap/wtf.html" as wtf %}

{% block page_content %}

{{ wtf.quick_form(form) }}

{% endblock %}


{% block scripts %}

{{ super() }}

{{ pagedown.include_pagedown() }}

{% endblock %}



三. 修改|-app/templates/_post.html

<ul class="posts">

    {% for post in posts %}

    <li class="post">

        <div class="post-content">

            #...

           <div class="post-footer">

               {% if current_user == post.author %}

                   <a href="{{ url_for('main.edit', id=post.id) }}"><span class="label label-primary">Edit</span></a>

               {% elif current_user.is_administrator() %}

                   <a href="{{ url_for('main.edit', id=post.id) }}"><span class="label label-danger">Edit [Admin]</span></a>

               {% endif %}

           </div>

        </div>

    </li>

    {% endfor %}

</ul>



   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值