Estoy intentando crear un slug personalizado para cada página de un modelo de página específico en Wagtail. Estuve investigando y probé los ejemplos de RoutablePageMixin , pero eso parece modificar la estructura de la URL, no el slug en sí.
Esto es lo que estoy buscando hacer:
Título de la página actual: Acerca de Django
slug de la página actual: about-django
título de la página que quiero: Acerca de Django
slug de la página que quiero: cosas-increíbles-sobre-django
Observé la creación del método de ruta, pero eso no pareció modificar el slug. ¿Hay alguna forma de anteponer algo a tu slug? Entiendo que puedo hacer esto manualmente, pero preferiría que sucediera automáticamente.
Una posibilidad para realizar actualizaciones automáticas en las páginas al guardar es anular el método full_clean :
class MyPage(Page): # ... def full_clean(self, *args, **kwargs): # first call the built-in cleanups (including default slug generation) super(MyPage, self).full_clean(*args, **kwargs) # now make your additional modifications if not self.slug.startswith('awesome'): self.slug = "awesome-%s" % self.slug