我正在尝试重新创建黑客游戏,因为没有API来创建我自己的问题,并在外部站点上实现,但是我使用django和restful框架来完成这项任务。(我不确定这是否是实现这一目标的权利)。我会通过服务器来做这件事,因为我不想让人们改变js,绕过这些东西,甚至禁用js,停止时间,然后继续问同样的问题,但我怎么能把它翻译成django呢
from django.shortcuts import get_object_or_404
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
from .models import Question, Choice
from .serializers import QuestionListPageSerializer, QuestionDetailPageSerializer, ChoiceSerializer, VoteSerializer, QuestionResultPageSerializer
@api_view(['GET', 'POST'])
def questions_view(request):
if request.method == 'GET':
questions = Question.objects.all()
serializer = QuestionListPageSerializer(questions, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = QuestionListPageSerializer(data=request.data)
if serializer.is_valid():
question = serializer.save()
return Response(QuestionListPageSerializer(question).data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
class QuestionListPageSerializer(serializers.Serializer):
id = serializers.IntegerField(read_only=True)
question_text = serializers.CharField(max_length=200)
pub_date = serializers.DateTimeField()
was_published_recently = serializers.BooleanField(read_only=True) # Serializer is smart enough to understand that was_published_recently is a method on Question
code = serializers.CharField(max_length=200)
def create(self, validated_data):
return Question.objects.create(**validated_data)
def update(self, instance, validated_data):
for key, value in validated_data.items():
setattr(instance, key, value)
instance.save()
return instance
python测试用例
import random
import pprint
def pick_ten(fname):
question_list = []
for question in open(fname):
# strip off new line character
question = question.rstrip()
question_list.append(question)
return random.sample(question_list, 1)
# testing ...
filename = "Questions101.txt"
question_list = pick_ten(filename)
pprint.pprint(question_list)
响应测试用例
xxxxxx@xxxxxx:~$ python3 quiz.py
['What was the first brand name for Bubble Gum?']
xxxxxx@xxxxxx:~$ python3 quiz.py
['Which game uses the phrase "en passant"?']
xxxxxx@xxxxxx:~$ python3 quiz.py
['What type of organism causes malaria?']
xxxxxx@xxxxxx:~$
您可以使用^{} 这样做:
相关问题 更多 >
编程相关推荐