views.py 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. import os
  2. import requests
  3. from bs4 import BeautifulSoup
  4. from django.shortcuts import render
  5. # Create your views here.
  6. from django.http import HttpResponse
  7. from rest_framework import status
  8. from rest_framework.response import Response
  9. from rest_framework.views import APIView
  10. from app.models import GameItem, GameItemType, User, gameHistory
  11. from app.pa import file_name, main
  12. from app.serializer import GameItemSerializer, gameItemTypeSerializer, GameHistorySerializer, \
  13. UserSerializer
  14. import logging
  15. from rest_framework import permissions
  16. from gameHall.MyPageNumberPagination import MyPageNumberPagination
  17. def index(request):
  18. # dirname = file_name("F:\http\H5game\games")
  19. # for iterating_var in dirname:
  20. # main(iterating_var)
  21. # print(dirname)
  22. return HttpResponse("Hello, world ! This is a django site.")
  23. # 使用APIView
  24. class getDataForList(APIView):
  25. def get(self, request):
  26. # gameItem = GameItem.objects.all()
  27. # print("走到这里了么")
  28. # serializer = GameItemSerializer(gameItem, many=True)
  29. # return Response(serializer.data)
  30. # gameItem = GameItem.objects.all()
  31. print("我现在要获取什么类型的", request.query_params["type"])
  32. gameItemType = GameItemType.objects.get(type=request.query_params["type"])
  33. print("结果集合", gameItemType.gameitem_set.all())
  34. gameItem = gameItemType.gameitem_set.all()
  35. # gameItem = GameItem.objects.get(id=30)
  36. page = MyPageNumberPagination()
  37. page_roles = page.paginate_queryset(queryset=gameItem, request=request, view=self)
  38. serializer = GameItemSerializer(page_roles, many=True)
  39. # print("走到这里了么post", serializer)
  40. # return Response(gameItemType) # 只返回数据
  41. return page.get_paginated_response(serializer.data) # 返回前后夜url
  42. def post(self, request):
  43. # serializer = GameItemSerializer(data=request.data)
  44. # if serializer.is_valid():
  45. # serializer.save()
  46. # return Response(serializer.data, status=status.HTTP_201_CREATED)
  47. # else:
  48. # return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
  49. gameItem = GameItem.objects.all()
  50. page = MyPageNumberPagination()
  51. page_roles = page.paginate_queryset(queryset=gameItem, request=request, view=self)
  52. serializer = GameItemSerializer(page_roles, many=True)
  53. # return Response(roles_ser.data) # 只返回数据
  54. print("走到这里了么post", request.data)
  55. return page.get_paginated_response(serializer.data) # 返回前后夜url
  56. # return Response(serializer.data)
  57. class getGameItemType(APIView):
  58. def get(self, request):
  59. # gameItem = GameItem.objects.all()
  60. # print("走到这里了么")
  61. # serializer = GameItemSerializer(gameItem, many=True)
  62. # return Response(serializer.data)
  63. # gameItem = GameItem.objects.all()
  64. gameItemTypes = GameItemType.objects.all()
  65. # 分页
  66. # page = MyPageNumberPagination()
  67. # page_roles = page.paginate_queryset(queryset=gameItem, request=request, view=self)
  68. # serializer = GameItemSerializer(gameItemTypes, many=True)
  69. # return page.get_paginated_response(serializer.data) # 返回前后夜url
  70. # 正常数组
  71. serializer = gameItemTypeSerializer(gameItemTypes, many=True)
  72. return Response(serializer.data) # 只返回数据
  73. def post(self, request):
  74. # serializer = GameItemSerializer(data=request.data)
  75. # if serializer.is_valid():
  76. # serializer.save()
  77. # return Response(serializer.data, status=status.HTTP_201_CREATED)
  78. # else:
  79. # return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
  80. gameItem = GameItem.objects.all()
  81. page = MyPageNumberPagination()
  82. page_roles = page.paginate_queryset(queryset=gameItem, request=request, view=self)
  83. serializer = GameItemSerializer(page_roles, many=True)
  84. # return Response(roles_ser.data) # 只返回数据
  85. print("走到这里了么post", request.data)
  86. return page.get_paginated_response(serializer.data) # 返回前后夜url
  87. # return Response(serializer.data)
  88. # 添加历史记录
  89. class createHistory(APIView):
  90. def get(self, request):
  91. gameId = request.query_params["id"]
  92. userId = request.query_params["userId"]
  93. game = GameItem.objects.get(id=gameId)
  94. history = gameHistory.objects.create(
  95. userId=userId,
  96. gameId=game,
  97. )
  98. # print("我现在要获取什么类型的", request.query_params["id"])
  99. return Response("添加成功")
  100. # 获取历史记录
  101. class getHistory(APIView):
  102. def get(self, request):
  103. userId = request.query_params["userId"]
  104. history = gameHistory.objects.all().filter(userId=userId)
  105. serializer = GameHistorySerializer(history, many=True)
  106. # print("获取", history)
  107. return Response(serializer.data)
  108. # 创建用户
  109. class createUser(APIView):
  110. def get(self, request):
  111. # gameItem = GameItem.objects.all()
  112. # print("走到这里了么")
  113. # serializer = GameItemSerializer(gameItem, many=True)
  114. # return Response(serializer.data)
  115. # gameItem = GameItem.objects.all()
  116. # user = User.objects.create(
  117. # userId="admin1",
  118. # userName="admin1",
  119. # userPhone=154645,
  120. # userPassWord="admin1",
  121. # userWXId="admin1"
  122. # )
  123. # 名字
  124. # userName = models.CharField('名字', max_length=255)
  125. # # 账号
  126. # userId = models.CharField('账号', max_length=255)
  127. # # 手机号
  128. # userPhone = models.IntegerField('手机号', max_length=11)
  129. # # 密码
  130. # userPassWord = models.CharField('密码', max_length=255)
  131. # # 微信账号
  132. # userWXId = models.CharField('微信账号', max_length=255)
  133. # print("我现在要获取什么类型的", request.query_params["type"])
  134. # 分页
  135. # page = MyPageNumberPagination()
  136. # page_roles = page.paginate_queryset(queryset=gameItem, request=request, view=self)
  137. # serializer = GameItemSerializer(gameItemTypes, many=True)
  138. # return page.get_paginated_response(serializer.data) # 返回前后夜url
  139. # 正常数组
  140. # serializer = gameItemTypeSerializer(gameItemTypes, many=True)
  141. return Response("") # 只返回数据
  142. # 获取用户
  143. class getUser(APIView):
  144. def get(self, request):
  145. userId = request.query_params["userId"]
  146. user = User.objects.get(userId=userId)
  147. serializer = UserSerializer(user)
  148. # print("获取", serializer)
  149. return Response(serializer.data)