当我阅读 Django 代码时,我经常在模型中看到所谓的“slug”。我不太确定这是什么,但我知道它与 URL 有关。应该如何以及何时使用这个 slug-thing?
(我已阅读 本词汇表 中的定义。)
鼻涕虫
某物的简短标签,仅包含字母、数字、下划线或连字符。它们通常用于 URL。例如,在典型的博客条目 URL 中:
https://www.djangoproject.com/weblog/2008/apr/12/spring/ 最后一点(弹簧)是 slug。
原文由 Jonas 发布,翻译遵循 CC BY-SA 4.0 许可协议
“slug”是一种生成有效 URL 的方法,通常使用已经获得的数据。例如,一个 slug 使用一篇文章的标题来生成一个 URL。我建议通过给定标题(或另一条数据)的函数生成 slug,而不是手动设置它。
一个例子:
现在假设我们有一个 Django 模型,例如:
您将如何使用 URL 和有意义的名称来引用此对象?例如,您可以使用 Article.id 使 URL 看起来像这样:
或者,您可能想像这样引用标题:
由于空格在 URL 中无效,因此必须将它们替换为
%20
,这将导致:这两种尝试都没有产生非常有意义、易于阅读的 URL。这个更好:
在此示例中,
the-46-year-old-virgin
是一个 slug:它是通过将所有字母小写并用连字符替换空格-
从标题创建的。另请参阅此网页的 URL 以获取另一个示例。