Estoy tratando de presentar vistas basadas en clases en mi proyecto. Se veía bien hasta ahora, hasta que encontré el siguiente problema.¿Cómo anulo `as_view` en vistas basadas en clases en Django?
Estoy usando django-navigation
para crear migas de pan. Funciona así: una función de vista se decora y este decorador introduce un atributo en esa función llamada breadcrumb
. En la plantilla, la URL actual o su parte se resuelven y la vista resultante se verifica para este atributo. Si está allí, se evalúa y el resultado es el texto de la ruta de navegación.
Dado que las vistas basadas en clases normalmente se representan mediante el método as_view()
, parece que necesitaría decorarlo, sin embargo, dado que es un método de clase, no puedo acceder a la instancia allí, lo que depende de mi ruta de navegación en.
Adjuntando breadcrumb
atributo a as_view()
en el __init__()
tampoco funcionó, o me salió mal la sintaxis. EDITAR: Por supuesto que no funcionó, ya que lo adjunté a as_view
, no a su valor de retorno.
¿Alguna idea de cómo integrar correctamente el decorador breadcrumb y las vistas basadas en clases?
¿Se puede hacer esto en una sola línea? 'url (r '^ $', the_decorator (ListView.as_view()), name = 'app_index')'? –
Sí, puedes :) – nfg