| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- from flask import Flask, flash, render_template, session, request, redirect, url_for, jsonify
- from admin.knowledgetopictype import *
- from admin.knowledgetopic import *
- from flask import current_app as app
- import os
- from hashlib import md5
- from pathlib import Path
- from datetime import datetime
- # 设置允许的文件格式
- ALLOWED_EXTENSIONS = set(['png', 'jpg', 'JPG', 'PNG', 'bmp'])
- #判断文件格式
- def allowed_file (filename):
- return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
- #------------- 知识专题管理 -------------------
- #知识专题
- @app.route('/knowledgetopicmanage')
- def knowledgetopicmanage():
- results = loadAllKnowledgeTopicWithKTTName()
- return render_template('admin/a_knowledgetopic_manage.html', results=results)
- #打开课程添加页面
- @app.route('/newknowledgetopic', methods=['POST', 'GET'])
- def newknowledgetopic():
- knowledgetopictype = loadAllKnowledgeTopicType_4Topic()
- return render_template('admin/a_knowledgetopic_edit.html', knowledgetopictype=knowledgetopictype, knowledgetopic=None, status='add')
- #打开课程编辑页面
- @app.route('/editknowledgetopic/<ktid>', methods=['POST', 'GET'])
- def editknowledgetopic(ktid):
- knowledgetopictype = loadAllKnowledgeTopicType_4Topic()
- knowledgetopic = loadKnowledgeTopicbyID(ktid)
- return render_template('admin/a_knowledgetopic_edit.html', knowledgetopictype=knowledgetopictype, knowledgetopic=knowledgetopic, status='edit')
- #KTID, KTTID, KTName, KTIntro, KTImage, KTIsShow, KTOrder, KTStatus
- #添加或者修改知识专题
- @app.route('/editknowledgetopic.do', methods=['POST'])
- def addcsinfo():
- if request.method == 'POST':
- status = request.form['lbl_status']
- kttid = request.form.get('txt_KTTID')
- ktname = request.form['txt_KTName']
- ktintro = request.form['txt_KTIntro']
- ktimage = request.form['txt_KTImage']
- ktisshow = request.form.get('txt_KTIsShow')
- ktorder = request.form.get('txt_KTOrder')
- ktstatus = request.form.get('txt_KTStatus')
- f = request.files['file_proimg']
- proimg = ""
- if (f != None and f.filename != ""):
- proimg = uploadimage(f)
- if proimg == "":
- proimg = ktimage
- if status == 'add':
- data = [kttid, ktname, ktintro, proimg, ktisshow, ktorder, ktstatus]
- #print(status, "知识专题", data)
- i, msg = add_KnowledgeTopic(data)
- if i > 0:
- flash('知识专题添加成功!' + str(msg))
- return redirect(url_for('knowledgetopicmanage'))
- else:
- flash('知识专题添加失败!' + str(msg))
- return redirect(url_for('newknowledgetopic'))
- if status == 'edit':
- ktid = request.form['lbl_KTID']
- data = [kttid, ktname, ktintro, proimg, ktisshow, ktorder, ktstatus, ktid]
- i, msg = update_KnowledgeTopic(data)
- if i > 0:
- flash('知识专题修改成功!' + str(msg))
- return redirect(url_for('knowledgetopicmanage'))
- else:
- flash('知识专题修改失败!' + str(msg))
- #url = "editknowledgetopic/1"
- #print(url)
- return redirect(url_for('knowledgetopicmanage'))
- def uploadimage(f):
- #f = request.files['file_proimg']
- if not (f and allowed_file(f.filename)):
- return "False" #jsonify({"error": 1001, "msg": """请检查上传的图片类型,仅限于png、PNG、jpg、JPG、bmp"})
- digest = md5(f.filename.encode("utf-8")).hexdigest()
- suffix = Path(f.filename).suffix
- images_name = datetime.now().strftime('%Y%m%d%H%M%S') + f'{digest}{suffix}'
- #images_name = datetime.now().strftime('%Y%m%d%H%M%S') + '11'
- file_path = os.path.join(app.config['UPLOAD_FOLDER_IMG_Knowtopic'], images_name)
- f.save(file_path)
- return file_path #"Success" #jsonify(file_path)
- #打开课程查看页面
- @app.route('/viewknowledgetopic/<ktid>', methods=['POST', 'GET'])
- def viewknowledgetopic(ktid):
- if 'username' in session:
- knowledgetopic = loadKnowledgeTopicwithKTTNamebyID(ktid)
- return render_template('admin/a_knowledgetopic_view.html', knowledgetopic=knowledgetopic)
- else:
- flash('查看失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- #删除课程
- @app.route('/delknowledgetopic/<ktid>', methods=['POST','GET'])
- def delknowledgetopic(ktid):
- i, msg = del_KnowledgeTopic(ktid)
- if i > 0:
- flash('删除成功!' +str(msg))
- else:
- flash('删除失败!' + str(msg))
- return redirect(url_for('knowledgetopicmanage'))
|