Using translated slugs in viewsΒΆ
To handle translatable slugs in the DetailView
,
the TranslatableSlugMixin
can be used to make this work smoothly.
For example:
class ArticleDetailView(TranslatableSlugMixin, DetailView):
model = Article
template_name = 'article/details.html'
The TranslatableSlugMixin
makes sure that:
- The object is fetched in the proper translation.
- The slug field is read from the translation model, instead of the shared model.
- Fallback languages are handled.
- Objects are not accidentally displayed in their fallback slugs, but redirect to the translated slug.