Comprendre le "Slug" de Django
Lorsque vous explorez le code de Django, vous pouvez rencontrer le terme "slug". Il s'agit d'une courte étiquette utilisée pour la création d'URL. Un slug est composé de lettres, de chiffres, de traits de soulignement ou de traits d'union et joue un rôle important dans la génération d'URL significatives et facilement lisibles.
Un slug est généralement dérivé d'un autre élément de données, tel que le titre d'un article. Plutôt que d'attribuer manuellement un slug, il est recommandé d'utiliser une fonction pour le générer en fonction du titre. Par exemple :
The 46 Year Old Virgin A silly comedy movie the-46-year-old-virgin
Considérons un modèle Django comme celui-ci :
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField(max_length=1000)
slug = models.SlugField(max_length=40)
Pour référencer un article à l'aide d'une URL avec un nom significatif, vous pouvez utiliser le slug. Si vous deviez utiliser l'ID de l'article à la place, l'URL serait :
www.example.com/article/23
Alternativement, l'utilisation directe du titre entraînerait :
www.example.com/article/The 46 Year Old Virgin
Cependant, les espaces ne sont pas valides dans les URL et devraient être remplacés par , ce qui donne :
www.example.com/article/The 46 Year Old Virgin
Aucune de ces tentatives ne crée une URL conviviale. L'approche slug est préférée :
www.example.com/article/the-46-year-old-virgin
Dans cet exemple, le slug est créé à partir du titre en convertissant toutes les lettres en minuscules et en remplaçant les espaces par des tirets (-).
Les Slugs jouent un rôle essentiel dans la génération d'URL à la fois significatives et faciles à lire. Considérez l'URL de cette page Web comme un autre exemple.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3