b_websiteinfo.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. from flask import Flask, flash, render_template, session, request, redirect, url_for, jsonify
  2. from admin.websiteinfo import *
  3. from flask import current_app as app
  4. #------------------网站信息管理------------------
  5. #加载网站信息
  6. @app.route('/webinfomanage')
  7. def webinfomanage():
  8. result = loadWebSiteInfo()
  9. labinfo = result[2]
  10. footinfo = result[3]
  11. contactinfo = result[4]
  12. #contactinfo = jsonify(result[0][3])
  13. return render_template('admin/a_webinfomanage.html', labinfo= labinfo, footinfo=footinfo, contactinfo=contactinfo)
  14. #修改网站信息
  15. @app.route('/webinfomanage.do', methods=['POST'])
  16. def updatewebinfomanage():
  17. labinfo = request.form['txt_labinfo']
  18. footinfo = request.form['txt_footinfo']
  19. contactinfo = eval(request.form['txt_contactinfo']) #把返回的json字符串两端的双引号去掉
  20. #contactinfo = request.form['txt_contactinfo'] # 把返回的json字符串两端的双引号去掉
  21. #data = request.json
  22. #contactinfo = data['content']
  23. #print("实验室信息:", labinfo)
  24. i, msg = updateWebInfo(labinfo, footinfo, contactinfo)
  25. if i >0:
  26. flash('网站基本信息修改成功!')
  27. else:
  28. flash('网站基本信息修改失败!%s' % msg)
  29. return render_template('admin/a_webinfomanage.html', labinfo=labinfo, footinfo=footinfo, contactinfo=contactinfo)
  30. # #--------------------------
  31. from hashlib import md5
  32. from pathlib import Path
  33. from flask import jsonify,render_template, request
  34. import os
  35. from flask_wtf.csrf import CSRFProtect
  36. from flask import current_app as app
  37. from werkzeug.utils import secure_filename
  38. csrf = CSRFProtect(app)
  39. @csrf.exempt
  40. @app.route('/vditor_web/uploads',methods=['POST','GET'])
  41. def vditor_web_uploads():
  42. """
  43. 支持黏贴、拖拽和点击图片上传
  44. """
  45. images_upload = request.files.get('file[]', None)
  46. img = images_upload.stream.read()
  47. digest=md5(img).hexdigest()
  48. suffix = Path(images_upload.filename).suffix
  49. images_name = f'{digest}{suffix}'
  50. image_full_name = os.path.join(app.config['IMG_UPLOAD_FOLDER'], images_name)
  51. if not Path(image_full_name).exists():
  52. with open(image_full_name,"wb") as f :
  53. f.write(img)
  54. #image_full_path = os.path.join(app.config['IMG_UPLOAD_URL'], images_name)
  55. image_full_path = os.path.join(app.config['IMG_UPLOAD_FOLDER'], images_name)
  56. # 返回的json有指定的结构
  57. return jsonify(
  58. {
  59. "msg": "Success!",
  60. "code": 0,
  61. "data": {
  62. "errFiles": [],
  63. "succMap": {
  64. images_upload.filename: image_full_path,
  65. }
  66. }
  67. }
  68. ),200
  69. #
  70. # @csrf.exempt
  71. # @app.route('/vditor/save/',methods=['POST'])
  72. # def vditor_save():
  73. # """"
  74. # markdown 保存
  75. # json格式
  76. # """
  77. # data = request.json
  78. # print(data['fname'])
  79. # print(data['content'])
  80. # # save it
  81. # data.save(os.path.join(app.config['UPLOAD_FOLDER'], secure_filename(data['fname'])))
  82. #
  83. # return jsonify({"msg":0}),200