Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

361
Views
Forma correcta de usar vistas basadas en clases asíncronas en Django

Estoy tratando de usar las nuevas clases de vista Django 3.1 Async. Según la documentación limitada disponible, he intentado crear mi propio método async def __call__() . De los documentos:

Para una vista basada en clases, esto significa hacer que su __call__() una async def (no su __init__() o as_view() ).

Documentos de desarrollo de Django 3.1

Sin embargo, hasta ahora no he tenido suerte escribiendo una vista basada en clases asincrónicas. Constantemente obtengo excepciones en await , o asyncio.iscoroutinefunction devuelve False , que supongo que debería devolver verdadero si la clase es realmente asíncrona.

Dado que la documentación carece de un ejemplo, ¿podría alguien con más conocimientos de programación asíncrona ayudarme con un ejemplo de una vista asíncrona basada en clases?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Dedique bastante tiempo a buscar en el sistema de tickets de Django, publicaciones de blog (gracias a Joren), etc. para que no tenga que hacerlo.

Lo mejor que puedes hacer es usar el código del blog :

 class YourView(View): @classonlymethod def as_view(cls, **initkwargs): view = super().as_view(**initkwargs) view._is_coroutine = asyncio.coroutines._is_coroutine return view async def get(self, *args, **kwargs): ...

Pero también debe tener en cuenta que no hay forma de que pueda usar genéricos reales (sin compatibilidad con ORM asíncrono, incluso TemplateView no funciona) y decoradores integrados para 3.1. Necesita escribir sus propias cosas para las cosas que Django normalmente hace por sí mismo.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!