b_foreweb.py 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. from flask import Flask, flash, render_template, session, request, redirect, url_for, jsonify
  2. from flask import current_app as app
  3. from admin.websiteinfo import *
  4. from admin.menuinfo import *
  5. from admin.researcharea import *
  6. from admin.teacherInfo import *
  7. from admin.studentinfo import *
  8. from admin.researchtopic import *
  9. from admin.knowledgetopictype import *
  10. from admin.knowledgetopic import *
  11. from admin.knowledgenote import *
  12. from admin.patentinfo import *
  13. from admin.paperinfo import *
  14. from admin.researchtopic import *
  15. from admin.sponsorinfo import *
  16. from flask_markdown_to_html import flask_markdown_to_html
  17. md = flask_markdown_to_html(app)
  18. # -------------前台 -------------------
  19. # @app.route('/')
  20. # def up():
  21. # return render_template('admin/uploadimage.html')
  22. @app.route('/')
  23. def index ():
  24. menuinfo = loadMenuInfo()
  25. webinfo = loadWebSiteInfo()
  26. researchtopic = loadResearchTopic_Top6()
  27. paperlist = loadPaperList_Top6()
  28. sp = loadSponsorList()
  29. return render_template('web/index.html', researchtopic=researchtopic, paperlist=paperlist, sponsorinfo=sp,
  30. menuinfo=menuinfo, webinfo=webinfo)
  31. # 教师/学生列表页
  32. @app.route('/people')
  33. def loadpeoplelist ():
  34. teacherlist = loadAllTeacher_Show()
  35. studentlist = loadAllStudent_Show()
  36. menuinfo = loadMenuInfo()
  37. webinfo = loadWebSiteInfo()
  38. return render_template('web/f_peoplelist.html', teacherlist=teacherlist, studentlist=studentlist, menuinfo=menuinfo,
  39. webinfo=webinfo)
  40. # 教师内容页
  41. @app.route('/teacherinfo/<tid>', methods=['POST', 'GET'])
  42. def loadteacherinfo (tid):
  43. teacherinfo = loadTeacherInfoByID_Show(tid)
  44. if (len(teacherinfo) > 0):
  45. teacherinfo = teacherinfo[0]
  46. menuinfo = loadMenuInfo()
  47. webinfo = loadWebSiteInfo()
  48. return render_template('web/f_teacherinfo.html', teacherinfo=teacherinfo, menuinfo=menuinfo, webinfo=webinfo)
  49. else:
  50. flash('成员信息不存在,请重新选择')
  51. return redirect(url_for('people'))
  52. # 学生内容页
  53. @app.route('/studentinfo/<sid>', methods=['POST', 'GET'])
  54. def loadstudentinfo (sid):
  55. studentinfo = loadStudentByID_Show(sid)
  56. if (len(studentinfo) > 0):
  57. studentinfo = studentinfo
  58. menuinfo = loadMenuInfo()
  59. webinfo = loadWebSiteInfo()
  60. return render_template('web/f_studentinfo.html', studentinfo=studentinfo, menuinfo=menuinfo, webinfo=webinfo)
  61. else:
  62. flash('成员信息不存在,请重新选择')
  63. return redirect(url_for('people'))
  64. # 项目列表页
  65. @app.route('/projects', methods=['POST', 'GET'])
  66. def loadallprojectlist ():
  67. researcharealist = loadAllResearchArea()
  68. researchtopiclist = loadAllResearchTopic_ForWeb()
  69. menuinfo = loadMenuInfo()
  70. webinfo = loadWebSiteInfo()
  71. return render_template('web/f_projectlist.html', researcharealist=researcharealist,
  72. researchtopiclist=researchtopiclist, menuinfo=menuinfo, webinfo=webinfo)
  73. # 项目列表页
  74. @app.route('/project/<protid>', methods=['POST', 'GET'])
  75. def loadprojectlist (protid):
  76. projTypeList = loadAllResearchArea(protid)
  77. projInfoList = loadProjectInfoByPTID(protid)
  78. menuinfo = loadMenuInfo()
  79. webinfo = loadWebSiteInfo()
  80. if len(projTypeList) > 0:
  81. projType = projTypeList[0]
  82. else:
  83. projType = None
  84. return render_template('web/f_projectlist.html', projType=projType, projInfoList=projInfoList, menuinfo=menuinfo,
  85. webinfo=webinfo)
  86. # 项目内容页
  87. @app.route('/projectinfo/<proid>', methods=['POST', 'GET'])
  88. def loadprojectinfo (proid):
  89. results_projinfo = loadResearchTopicByID_ForWeb(proid)
  90. if (len(results_projinfo) > 0):
  91. projinfo = results_projinfo
  92. menuinfo = loadMenuInfo()
  93. webinfo = loadWebSiteInfo()
  94. return render_template('web/f_projectinfo.html', projinfo=projinfo, menuinfo=menuinfo, webinfo=webinfo)
  95. else:
  96. flash('项目信息不存在,请重新选择')
  97. return redirect(url_for('project/1'))
  98. # 成果列表
  99. @app.route('/publications', methods=['POST', 'GET'])
  100. def publications ():
  101. menuinfo = loadMenuInfo()
  102. webinfo = loadWebSiteInfo()
  103. ralist = loadAllResearchArea_Show()
  104. rtlist = loadAllResearchTopic_Show()
  105. paperlist = loadAllPaperInfo_Show()
  106. return render_template('web/f_publicationlist.html', ralist=ralist, paperlist=paperlist, menuinfo=menuinfo,
  107. webinfo=webinfo)
  108. # 成果内容
  109. @app.route('/pubinfo/<pid>', methods=['POST', 'GET'])
  110. def pubinfo (pid):
  111. menuinfo = loadMenuInfo()
  112. webinfo = loadWebSiteInfo()
  113. results = loadPaperwithRTNamebyID(pid)
  114. return render_template('web/f_publicationinfo.html', paperinfo=results, menuinfo=menuinfo, webinfo=webinfo)
  115. # 知识库页面
  116. @app.route('/resnotes', methods=['POST', 'GET'])
  117. def loadkonwtype_resnotes ():
  118. menuinfo = loadMenuInfo()
  119. webinfo = loadWebSiteInfo()
  120. knowledgetopictype = loadAllKnowledgeTopicType_ForeWeb("ResNotes")
  121. knowlegetopics = loadAllKnowledgeTopicWithKTTName_Show()
  122. return render_template('web/f_notestype.html', knowledgetopictype=knowledgetopictype, knowlegetopics=knowlegetopics,
  123. menuinfo=menuinfo, webinfo=webinfo)
  124. # 知识库页面
  125. @app.route('/knoledge', methods=['POST', 'GET'])
  126. def loadkonwtype_knowledge ():
  127. menuinfo = loadMenuInfo()
  128. webinfo = loadWebSiteInfo()
  129. knowledgetopictype = loadAllKnowledgeTopicType_ForeWeb("Knoledge")
  130. knowlegetopics = loadAllKnowledgeTopicWithKTTName_Show()
  131. return render_template('web/f_knowtype.html', knowledgetopictype=knowledgetopictype, knowlegetopics=knowlegetopics,
  132. menuinfo=menuinfo, webinfo=webinfo)
  133. # 知识专题页面,包含多个笔记
  134. @app.route('/knowlist/<ktid>', methods=['POST', 'GET'])
  135. def konwlist (ktid):
  136. menuinfo = loadMenuInfo()
  137. webinfo = loadWebSiteInfo()
  138. KTName = getKTNameByKTID(ktid)
  139. notelist = loadKnowledgeNoteByKTID(ktid)
  140. if len(notelist) > 0:
  141. if notelist[0][1] ==10:
  142. return render_template('web/f_knowlist2.html', KTName=KTName, notelist=notelist, menuinfo=menuinfo,
  143. webinfo=webinfo)
  144. else:
  145. return render_template('web/f_knowlist.html', KTName=KTName, notelist=notelist, menuinfo=menuinfo,
  146. webinfo=webinfo)
  147. else:
  148. flash('知识专题不存在,请重新选择')
  149. return redirect(url_for('/knoledge'))
  150. # 知识专题页面,包含多个笔记
  151. @app.route('/noteslist/<ktid>', methods=['POST', 'GET'])
  152. def noteslist (ktid):
  153. menuinfo = loadMenuInfo()
  154. webinfo = loadWebSiteInfo()
  155. KTName = getKTNameByKTID(ktid)
  156. notelist = loadKnowledgeNoteByKTID(ktid)
  157. if len(notelist) > 0:
  158. if notelist[0][1] ==10:
  159. return render_template('web/f_noteslist2.html', KTName=KTName, notelist=notelist, menuinfo=menuinfo,
  160. webinfo=webinfo)
  161. else:
  162. return render_template('web/f_noteslist.html', KTName=KTName, notelist=notelist, menuinfo=menuinfo,
  163. webinfo=webinfo)
  164. else:
  165. flash('知识专题不存在,请重新选择')
  166. return redirect(url_for('/resnotes'))
  167. # 笔记具体内容
  168. @app.route('/knowinfo/<knid>', methods=['POST', 'GET'])
  169. def knowinfo (knid):
  170. menuinfo = loadMenuInfo()
  171. webinfo = loadWebSiteInfo()
  172. noteinfo = loadKnowledgeNoteByKNID_Web(knid)
  173. if len(noteinfo) > 0:
  174. ktid = noteinfo[1]
  175. notelist = loadKnowledgeNoteByKTID(ktid)
  176. return render_template('web/f_knowinfo.html', notelist=notelist, noteinfo=noteinfo, menuinfo=menuinfo,
  177. webinfo=webinfo)
  178. else:
  179. flash('知识库笔记不存在,请重新选择')
  180. return redirect(url_for('/knoledge'))
  181. # 笔记具体内容
  182. @app.route('/noteinfo/<knid>', methods=['POST', 'GET'])
  183. def noteinfo (knid):
  184. menuinfo = loadMenuInfo()
  185. webinfo = loadWebSiteInfo()
  186. noteinfo = loadKnowledgeNoteByKNID_Web(knid)
  187. if len(noteinfo) > 0:
  188. ktid = noteinfo[1]
  189. notelist = loadKnowledgeNoteByKTID(ktid)
  190. return render_template('web/f_noteinfo.html', notelist=notelist, noteinfo=noteinfo, menuinfo=menuinfo,
  191. webinfo=webinfo)
  192. else:
  193. flash('科研笔记不存在,请重新选择')
  194. return redirect(url_for('/resnotes'))
  195. # 联系我们
  196. @app.route('/contact')
  197. def loadcontactinfo ():
  198. menuinfo = loadMenuInfo()
  199. webinfo = loadWebSiteInfo()
  200. contactinfo = webinfo[4]
  201. return render_template('web/f_contact.html', menuinfo=menuinfo, contactinfo=contactinfo)
  202. # 联系我们
  203. @app.route('/uploadimage')
  204. def uploadimage ():
  205. return render_template('admin/uploadimage.html')
  206. # 联系我们
  207. @app.route('/markd')
  208. def markd ():
  209. return render_template('web/showmarkdownfile.html')