您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

91 行
2.6KB

  1. from django.http import HttpResponse, HttpResponseRedirect
  2. from django.shortcuts import render
  3. from datetime import datetime
  4. import json
  5. import os
  6. def index(request):
  7. return render(request, 'mobile/index.html')
  8. def scan(request):
  9. question = q1
  10. if request.POST:
  11. data = request.POST
  12. print("data")
  13. if data["question"]:
  14. print("response to question", data["question"])
  15. for q in questions:
  16. if not q.key == data["question"]:
  17. continue
  18. for opt in q.options:
  19. if not opt.text == data["chosen_option"]:
  20. continue
  21. if opt.question:
  22. question = opt.question
  23. break
  24. else:
  25. return scanned(request, opt.result)
  26. # first question
  27. context = {'question': question}
  28. return render(request, 'mobile/scan.html', context)
  29. def scanned(request, tree):
  30. context = {'tree': {'name': tree}}
  31. return render(request, 'mobile/scanned.html', context)
  32. def addtree(request):
  33. if not request.POST:
  34. return HttpResponseRedirect("/mobile/scan")
  35. name = request.POST["name"]
  36. tree = request.POST["name"]
  37. longitude = request.POST["longitude"]
  38. latitude = request.POST["latitude"]
  39. bloom_start = datetime.now().timetuple().tm_yday
  40. if not os.path.isfile('/tmp/data.json'):
  41. data = {'trees': []}
  42. else:
  43. with open('/tmp/data.json', 'r') as f:
  44. data = json.load(f)
  45. with open('/tmp/data.json', 'w') as f:
  46. data["trees"].append(
  47. {'name': name, 'species': tree,
  48. 'longitude': longitude, 'latitude': latitude,
  49. 'bloom_start': bloom_start }
  50. )
  51. json.dump(data, f, indent=4)
  52. return render(request, "mobile/thankyou.html")
  53. class Option:
  54. def __init__(self, text, question=None, result=None):
  55. self.text = text
  56. self.question = question
  57. self.result = result
  58. class Question:
  59. def __init__(self, key, text, options):
  60. self.key = key
  61. self.text = text
  62. self.options = options
  63. q3 = Question("alive", "Is your tree alive?",
  64. [Option("yes", result="Poor Apple Tree"),
  65. Option("no", result="Dead Apple Tree")])
  66. q2 = Question("red", "Is your tree red?",
  67. [Option("yes", result="Red Apple Tree"),
  68. Option("no", result="Green Apple Tree")])
  69. q1 = Question("leaves", "Does your tree have leaves?",
  70. [Option("yes", question=q2), Option("no", question=q3)])
  71. questions = [q1, q2, q3]