2017-05-07 26 views
0

おそらくトピックから外れていますが、これを調べるのに問題があります。私はDjango RESTをインストールしました。応答の前に乱数をシミュレートしたいと思っています。Django RESTからの応答遅延

マイビュー(DRFチュートリアルから基本的にはそのまま):

class SnippetList(generics.ListCreateAPIView): 
    queryset = Snippet.objects.all() 
    serializer_class = SnippetSerializer 


class SnippetDetail(generics.RetrieveUpdateDestroyAPIView): 
    queryset = Snippet.objects.all() 
    serializer_class = SnippetSerializer 

そして、私は3と5の間で返すことができるようにしたいのですが、成功応答する前に応答を失敗しました。どんな指針も大変ありがとう。

答えて

2

ビューの方法をdispatchに上書きできます。あなたが本当に早く、n番目のリクエストに応じてより適切な応答を返すようにしたいことはありません場合は、以降の要求の数を保持しなければならない

import random 
from django.http import Http404 

class SnippetList(generics.ListCreateAPIView): 
    # ... 

    def dispatch(self, request, *args, **kwargs): 
     if random.random() < 0.2: 
      return super(SnippetList, self).dispatch(request, *args, **kwargs) 
     raise Http404 # or any other custom behaviour 

:以下は、すべての第五の要求のために、平均して、適切な応答を返しますどこか最後の正しい応答。それは、セッション(ユーザーごとにカウントが行われている場合)またはデータベースのどこかにある可能性があります。

+0

これは私が探していたものです。ありがとうございます! – Toby

関連する問題