7

たとえば、以下のように、GETメソッドとPOSTメソッドの両方を許可するクラスベースのビューがあります。

class ViewOne(View):
    def post(self, request, *args, **kwargs):
        ...
    def get(self, request, *args, **kwargs):
        ...
    @method_decorator(login_required)
    def dispatch(self, *args, **kwargs):
        return super(ViewOne, self).dispatch(*args, **kwargs)

これで、GETとPOSTの両方がlogin_requiredになります。しかし、POSTのみをlogin_requiredにしたい場合はどうなりますか?

4

2 に答える 2

4

うーん...動作していませんか?

class ViewOne(View):
    @method_decorator(login_required)
    def post(self, request, *args, **kwargs):
        ...
    def get(self, request, *args, **kwargs):
        ...    
于 2012-12-19T13:03:36.460 に答える
1

2つのクラスを作成しないのはなぜですか、django-bracesも使用してください;)

class ViewOne(View):
    def get(self, request, *args, **kwargs):
    ...

class ViewTwo(LoginRequiredMixin, ViewOne):
    def post(self, request, *args, **kwargs):
    ...
于 2012-12-19T13:14:37.317 に答える