functions.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. from django.http import HttpResponse, HttpResponseRedirect
  2. from django.shortcuts import render
  3. import json
  4. import datetime
  5. class DateEncoder(json.JSONEncoder):
  6. def default(self, obj):
  7. if isinstance(obj, datetime.datetime):
  8. return obj.strftime('%Y-%m-%d %H:%M:%S')
  9. elif isinstance(obj, date):
  10. return obj.strftime("%Y-%m-%d")
  11. else:
  12. return json.JSONEncoder.default(self, obj)
  13. def qs2json(querySet):
  14. qdict =[]
  15. for i in querySet:
  16. qdict.append(i)
  17. qJson = {}
  18. qJson = json.dumps(qdict,cls=DateEncoder)
  19. print(qJson)
  20. return qJson
  21. def qs2dict(querySet):
  22. result = []
  23. for i in querySet:
  24. result.append(i)
  25. return result
  26. # 验证用户登录状态
  27. def checkLoginUser(request):
  28. try:
  29. request.session['loginID']
  30. request.session['loginUser']
  31. request.session['loginNickname']
  32. return True
  33. except:
  34. return False
  35. # 获取session
  36. def getSession(request, session):
  37. try:
  38. sessionName = request.session[session]
  39. return sessionName
  40. except:
  41. return None
  42. # 检验session id的有效性
  43. def checkSession(request, session):
  44. try:
  45. sessionName = request.session[session]
  46. return True
  47. except:
  48. return False
  49. def checkGET(request, GET):
  50. try:
  51. result = request.GET[GET]
  52. return True
  53. except:
  54. return False
  55. def checkPOST(request, GET):
  56. try:
  57. result = request.POST[GET]
  58. return True
  59. except:
  60. return False
  61. # 在mongoDB里面保存签到数据
  62. def mongoAddRecord(checkInID, content):
  63. from pymongo import MongoClient
  64. client = MongoClient('localhost', 27017)
  65. db = client['checkIn']
  66. collectionName = 'checkIn_%s' % (str(checkInID))
  67. db[collectionName]
  68. db[collectionName].insert(content)
  69. return True
  70. # 在mongoDB里面,根据checkInID找出所有的签到数据
  71. def mongoSearchByID(checkInID):
  72. from pymongo import MongoClient
  73. client = MongoClient('localhost', 27017)
  74. db = client['checkIn']
  75. collectionName = 'checkIn_%s' % (str(checkInID))
  76. result = []
  77. for x in db[collectionName].find():
  78. del x['_id']
  79. result.append(x)
  80. return result
  81. # 验证checkIn的组织者是否为登录的用户
  82. def checkCorrectO_ID(request, ID):
  83. checkSession(request, 'loginID')
  84. if ID != getSession(request, 'loginID'):
  85. return False
  86. else:
  87. return True