Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

141
Visualizações
How to wrap custom endpoints in Django Tastypie?

I want to add a dispatch method to some resource so I could use a wrapper decorator on it. The issue is that it only works on the CRUD operations and wont go into the dispatch method on 'original' endpoints:

class SomeResource(SomeBaseResource):
    class Meta(...): ...
    
    def get_something_extra(self, request, **kwargs):
        ...

    def patch_detail(self, request, **kwargs):
        ...

and the base resource:

class SomeBaseResource(ModelResource):
    class Meta(...): ...
    
    # the wrapper
    @decorator_to_wrap_all_methods_with(...)
    def dispatch(self, request_type, request, **kwargs):
         logger.info('Enter')
         response = super(SomeBaseResource, self).dispatch(request_type, request, **kwargs)
         logger.info('Exit')
         return response

So when I use patch request it is working as expected, but wont on calling the get_something_extra api.

How do I wrap ALL methods in resource?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

A workaround solution is to add Middleware:

MIDDLEWARE = (
'my.basic.BaseMiddleware',
...
)

class BaseMiddleware(object):
    def __init__(self, get_response):
        self.get_response = get_response

    @decorator_to_wrap_all_methods_with(...)
    def __call__(self, request):
        response = self.get_response(request)
        return response
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda