图文直播
图文上传已经做好了,但是如果现在上传错误了咋办,这时候你就需要在后台做一个图文管理的界面了..
###实现图文管理功能
因为前端代码粘贴进来不全部显示,所以贴一张主要的代码图吧
####功能函数部分
# 图文管理
@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'请按要求重新选择要上传的文件!'
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'))
一开始本来打算做个图文一起上传的,结果想想觉得图文直播大多数都是图片居多,而且很多时候下面并没有解释的文字,所以我觉得还是图片跟文字分开,各改各的。这里图片在后台显示是根据数据库中存储的图片名字,然后再去image文件中获取对应的图片。