当我阅读Django代码时,我经常在模型中看到所谓的“slug”。我不太确定这是什么,但我知道它与url有关。这个鼻涕虫什么时候该怎么用?

(我已在本术语表中阅读了它的定义。)

鼻涕虫 某物的缩写标签,只包含字母、数字、 下划线或连字符。它们通常用于url中。例如, 在一个典型的博客入口URL中: https://www.djangoproject.com/weblog/2008/apr/12/spring/最后一位 (弹簧)是鼻涕虫。


当前回答

Slug在Django中用于动态生成一个人类友好/可读的URL。例如,这个页面的当前URL是这样的: Django中的“slug”是什么?

注意URL是如何被实际的问题(在Django中什么是slug)所代替的

其他回答

“段塞”是一种生成有效URL的方式,通常使用已经获得的数据。例如,slug使用文章的标题生成URL。我建议通过给定标题(或另一段数据)的函数来生成这个段代码,而不是手动设置。

一个例子:

<title> The 46 Year Old Virgin </title>
<content> A silly comedy movie </content>
<slug> the-46-year-old-virgin </slug>

现在让我们假设我们有这样一个Django模型:

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField(max_length=1000)
    slug = models.SlugField(max_length=40)

如何使用URL和有意义的名称引用此对象?例如,你可以使用Article。id, URL看起来是这样的:

www.example.com/article/23

或者,你可能想这样引用标题:

www.example.com/article/The 46 Year Old Virgin

由于空格在url中无效,它们必须被%20取代,这将导致:

www.example.com/article/The%2046%20Year%20Old%20Virgin

这两种尝试都不会产生非常有意义、易于阅读的URL。这样更好:

www.example.com/article/the-46-year-old-virgin

在这个例子中,the-46- old-virgin是一个slug:它是由标题中所有字母的下装,空格用连字符-取代而来。

另一个例子也可以看到这个网页的URL。

Slug在Django中用于动态生成一个人类友好/可读的URL。例如,这个页面的当前URL是这样的: Django中的“slug”是什么?

注意URL是如何被实际的问题(在Django中什么是slug)所代替的

它是URL的描述部分,使其更人性化的描述,但不一定是web服务器所要求的——在Django中什么是“slug”?这个slug是'in-django-what-is-a-slug',但是这个slug并不用于决定服务的页面(至少在这个站点上)。

从这里。

"鼻涕虫"是报纸上的术语,但是 这意味着这是最后一点 URL。例如,带有 标题,“一点关于Django” 成为“bit-about-django” 自动地(当然,你可以, 如果您不喜欢,可以轻松更改 自动生成的蛞蝓)。

段码是URL的一部分,它以易于阅读的形式标识网站上的特定页面。

例如,/building-your- first -django-site。

弹头只包含:

字母:a-z, a-z 数字:0-9 下划线:_ 连字符:-