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 オブジェクトを作成するビューによってユーザーに中継されるステータスとメッセージだけを返す必要がありますか?