1

django.views.generic.Viewそのため、リクエストのみを受け入れるに基づく Django ビューがありPOSTます。基本的な呼び出しをapplication/x-www-form-urlencodedフォーマットで受け取り、解析してから、適切に応答します。これは、細いコントローラー、太いモデルのアイデアでは失敗していることに気付きましたが、特に下層のモデルではなく、ビューに関連しているため、次のロジックを配置するのに最適な場所についてはわかりません。

現在、ビューはいくつかのロジックを処理して、新しいサブスクリプションを作成します。

class ExampleView(View):

   def post(self, request, *args, **kwargs):
        mode = request.POST.get('mode')

        if not mode:
            return HttpResponse('mode required', status=400)

        if mode == 'subscribe':
            if not request.POST.get('topic'):
                return HttpResponse('topic required', status=400)

            if not [ another required argument ]:
                and so on ...

            [ If we're ready to roll, create a Subscription object ]

            return HttpResponse('Subscribed', status=200)

したがって、これはロジックを間違ったレイヤーに配置するように見えます。ビューに渡されるものを処理し、必要に応じてサブスクリプション オブジェクトを生成/生成しないのに最適な場所はどこですか。

提供されたデータの処理は、ビューに HttpResponses を返すサブスクリプション オブジェクトで実行する必要がありますか? それとも、正しい HttpResponse オブジェクトを作成するビューによってユーザーに中継されるステータスとメッセージだけを返す必要がありますか?

4

1 に答える 1