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

235
Visualizações
DRF, almacenamiento en caché para as_view ()?

En mi opinión, a menudo uso as_view as_view() de APIView para generar json.

Me gustaría almacenar en caché la respuesta e intenté lo siguiente, pero no funcionará

 def some_complex_view(self, request, *args, **kwargs): pass @method_decorator(cache_page(60, key_prefix='drf')) def dispatch(self, request, *args, **kwargs): return super().dispatch(request, *args, **kwargs)

Entonces, llamo

 def my_view(request, *args, **kwargs): json_data = MyViewSet.as_view({'get': 'some_complex_view'})(request, format='json') data = { 'my_data': json_data } return render(request, 'my_template.html', data)

Se almacena en caché correctamente cuando solicito la vista usando el navegador, pero no lo hará cuando use as_view()

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

0

Hay algunas estrategias enumeradas en los documentos de CBV:

Agregue el decorador en su ruta urls.py, por ejemplo, login_required(ViewSpaceIndex.as_view(..)) Decore el método de envío de su CBV con un method_decorator , por ejemplo,

 from django.utils.decorators import method_decorator @method_decorator(login_required, name='dispatch') class MyViewSet(TemplateView): template_name = 'secret.html'

Antes de Django 1.9, no puede usar method_decorator en la clase, por lo que debe anular el método de envío:

 class MyViewSet(TemplateView): @method_decorator(login_required) def dispatch(self, *args, **kwargs): return super(MyViewSet, self).dispatch(*args, **kwargs)
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