| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- from flask import flash, render_template, session, request, redirect, url_for, jsonify
- from admin.researcharea import *
- from admin.researchtopic import *
- from flask import current_app as app
- from werkzeug.utils import secure_filename
- import os
- from hashlib import md5
- from pathlib import Path
- from datetime import datetime
- from admin.dboper import *
- # 设置允许的文件格式
- 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('/researchtopicmanage')
- def researchtopicmanage():
- results = loadAllResearchTopic_ForMang()
- return render_template('admin/a_researchtopic_manage.html', results= results)
- #新加项目
- @app.route('/newresearchtopic')
- def newresearchtopic():
- if 'username' in session:
- researcharea = loadAllResearchArea()
- return render_template('admin/a_researchtopic_edit.html', researcharea = researcharea, status="add")
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- #修改项目
- @app.route('/loadresearchtopicforedit/<RTID>', methods = ['POST','GET'])
- def editproject(RTID):
- if 'username' in session:
- researchtopic = loadResearchTopicByID(RTID)
- researcharea = loadAllResearchArea()
- return render_template('admin/a_researchtopic_edit.html', researcharea = researcharea, researchtopic = researchtopic, status='edit')
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- # 新加和修改
- @app.route('/editresearchtopic.do', methods = ['POST'])
- def addresearchtopic_do():
- if request.method == 'POST':
- RAID = request.form.get('txt_RAID')
- RTNameCN = request.form['txt_RTNameCN'].strip()
- RTNameEN = request.form['txt_RTNameEN'].strip()
- RTAbstractCN = cleanText(request.form['txt_RTAbstractCN'].strip())
- RTAbstractEN = cleanText(request.form['txt_RTAbstractEN'].strip())
- RTImage = request.form['txt_RTImage'].strip()
- RTContent = request.form['txt_RTContent'].strip()
- RTOrder = request.form['txt_RTOrder'].strip()
- RTStatus = request.form['txt_RTStatus'].strip()
- status = request.form['lbl_status'].strip()
- f = request.files['file_proimg']
- proimg=""
- if (f != None and f.filename !=""):
- proimg = uploadimage(f)
- if proimg=="":
- proimg = RTImage
- data=[RAID, RTNameCN, RTNameEN, RTAbstractCN, RTAbstractEN, proimg, RTContent, RTOrder, RTStatus]
- if (status == 'add'):
- i, msg = add_ResearchTopic(data)
- if i > 0:
- flash('研究课题添加成功!')
- else:
- flash('研究课题添加失败!%s' % str(msg))
- else:
- RTID = request.form['lbl_RTID']
- #print("项目序号", lbl_RTID)
- data = [RAID, RTNameCN, RTNameEN, RTAbstractCN, RTAbstractEN, proimg, RTContent, RTOrder, RTStatus, RTID]
- i, msg = update_ResearchTopic(data)
- if i >0:
- flash('研究课题修改成功!')
- else:
- flash('研究课题修改失败!%s' % str(msg))
- return redirect(url_for('researchtopicmanage'))
- 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}'
- file_path = os.path.join(app.config['UPLOAD_FOLDER_IMG_ReTopic'], images_name)
- f.save(file_path)
- return file_path #"Success" #jsonify(file_path)
- @app.route('/delresearchtopic/<RTID>', methods = ['POST'])
- def delresearchtopic(RTID):
- #print("删除项目信息:", RTID)
- i, msg = del_ResearchTopic(RTID)
- if i > 0:
- flash('研究课题删除成功!')
- else:
- flash('研究课题删除失败!%s' % str(msg))
- return redirect(url_for('researchtopicmanage'))
- #查看项目信息
- @app.route('/viewresearchtopic/<RTID>')
- def viewproject(RTID):
- if 'username' in session:
- researchtopic = loadResearchTopicByID_ForView(RTID)
- return render_template('admin/a_researchtopic_view.html', researchtopic=researchtopic)
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
|