Skip to content

Instantly share code, notes, and snippets.

@richellyitalo
Last active April 2, 2019 04:42
Show Gist options
  • Save richellyitalo/d1d4dbd4de7964d2a4346d15beab5911 to your computer and use it in GitHub Desktop.
Save richellyitalo/d1d4dbd4de7964d2a4346d15beab5911 to your computer and use it in GitHub Desktop.

View

from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator
from django.contrib.auth.mixins import LoginRequiredMixin

# protegendo da maneira *2
# @method_decorator(login_required(login_url='/login/'), name='dispatch')
class TesteView(LoginRequiredMixin, TemplateView):
    # protegendo da maneira *3 (LoginRequiredMixin)
    template_name = 'my_app/home.html'

    def get(self, request, *args, **kwargs):
        return self.render_to_response({})

    # protegendo da maneira *1
    # @method_decorator(login_required(login_url='/login/'))
    # def dispatch(self, request, *args, **kwargs):
    #     return super().dispatch(request, *args, **kwargs)

Define nos settings a URL de login padrão (LOGIN_URL)

from django.urls import reverse_lazy

# ...
## necessário ter nomeado a rota de my_app para 'login'
LOGIN_URL = reverse_lazy('my_app:login')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment