用flask寫一個(gè)圖文直播網(wǎng)頁(五)

實(shí)現(xiàn)圖文管理功能

首先貼一下圖文管理界面前端代碼:
list-admin.html

{% extends 'base.html' %}
{% block yemian %}圖文管理界面{% endblock %}
{% block main %}
<div class="row">
    <form action="" enctype="multipart/form-data" method="POST" class="form-horizontal">
        <table class="table table-hover">
            <tr>
                <th>序號(hào)</th>
                <th>圖片</th>
                <th>文章</th>
                <th>提交時(shí)間</th>
                <th>操作</th>
            </tr>
                {% for item in photo %}
                <tr>
                    <td>{{ loop.index }}</td>
                    <td width="15%">
                        <img src="{{ url_for('static', filename = 'image/' + item.picture_path) }}" alt="" height="70" width="100">
                    </td>
                    <td width="50%" height="87">{{ item.content }}</td>
                    <td>{{ item.create_time }}</td>
                    <td>
                        <a href="{{ url_for('detail_a', photo_id = item.id) }}" class="btn btn-default btn-xs" title="查看"><i class="fa fa-search"></i></a>
                        <a href="{{ url_for('change_a', photo_id = item.id) }}" class="btn btn-default btn-xs" title="修改"><i class="fa fa-pencil"></i></a>
                        <a href="{{ url_for('remove', content=item.content) }}" class="btn btn-default btn-xs" title="刪除"><i class="fa fa-trash"></i></a>
                    </td>
                </tr>
                {% endfor %}
        </table>
    </form>
</div>
{% endblock %}

功能函數(shù)部分

# 圖文管理
@app.route('/admin/list/', methods = ['GET', 'POST'])
def list_a():
admin2_id = session.get('user_id')
if admin2_id:
    if request.method == 'GET':
        data_all = Article.query.order_by('-create_time').all()
        items = {
            'photo': data_all
        }
        return render_template('list-admin.html', **items)
else:
    return redirect(url_for('login_a'))

# 刪除圖文
@app.route('/remove/')
def remove():
content = request.args.get('content')
photo1 = Article.query.filter(Article.content == content).first()
db.session.delete(photo1)
db.session.commit()
return redirect(url_for('list_a'))

# 查看圖文
@app.route('/detail/<photo_id>/')
def detail_a(photo_id):
photo_model = Article.query.filter(Article.id == photo_id).first()
return render_template('detail.html', photo = photo_model)

# 修改圖文
def allowed_file1(filename1):
return '.' in filename1 and filename1.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS

@app.route('/change/', methods = ['GET', 'POST'])
def change_a():
admin3_id = session.get('user_id')
if admin3_id:
    if request.method == 'GET':
        return render_template('change.html')
    else:
        file1 = request.files['file']
        content1 = request.form.get('content')
        photo_id = request.args.get('photo_id')
        if file1:
            if allowed_file(file1.filename):
                filename = secure_filename(file1.filename)
                file1.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            else:
                return u'請(qǐng)按要求重新選擇要上傳的文件!'
        else:
            pass
        photo1 = Article.query.filter(Article.id == photo_id).first()
        if file1:
            photo1.picture_path = file1.filename
        if content1:
            photo1.content = content1
        db.session.commit()
        return redirect(url_for('list_a'))
else:
    return redirect(url_for('login_a'))

一開始本來打算做個(gè)圖文一起上傳的,結(jié)果想想覺得圖文直播大多數(shù)都是圖片居多,而且很多時(shí)候下面并沒有解釋的文字,所以我覺得還是圖片跟文字分開,各改各的。這里圖片在后臺(tái)顯示是根據(jù)數(shù)據(jù)庫中存儲(chǔ)的圖片名字,然后再去image文件中獲取對(duì)應(yīng)的圖片。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,845評(píng)論 25 708
  • 前面已經(jīng)實(shí)現(xiàn)了管理員的登錄、登出和注銷功能,下面來實(shí)現(xiàn)圖片和文字的上傳和圖文管理。實(shí)現(xiàn)之前,的先把前端頁面主體部分...
    reknow閱讀 729評(píng)論 0 0
  • 記得十年前來上海旅行時(shí),導(dǎo)游興致勃勃地向我們介紹當(dāng)時(shí)中國最貴的樓盤:湯臣一品,每平方米高達(dá)十余萬元,末了不無嘲...
    薔薇的天空閱讀 262評(píng)論 0 2
  • 新的一周開始了,也是最后一周。 突然很舍不得,今天看了很多伙伴們的文章,大家都在很用心的去寫和分享。 看到今天主題...
    xqbook閱讀 140評(píng)論 0 2
  • 一個(gè)姑娘,人挺漂亮,能力也不錯(cuò)。 但是工作時(shí)總沒有責(zé)任心,也沒啥膽量,并喜歡把這些表現(xiàn)的原因推到“原生家庭”上。 ...
    小魚秧閱讀 90評(píng)論 0 1