在Django中,“slug”是什么?

当我阅读Django代码时,我经常在模型中看到所谓的“子弹”。我不太清楚这是什么,但是我知道它与URL有关。应该如何以及何时使用这种this子?

回答:

“子弹”是一种通常使用已获得的数据生成有效URL的方法。例如,一个ug使用文章标题来生成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

由于网址中的空格无效,因此必须将其替换为%20,这将导致:

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

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

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

在此示例中,the-46-year-old-virgin是一个子弹:它是通过将所有字母缩进小写并用连字符替换空格来从标题创建的-

以上是 在Django中,“slug”是什么? 的全部内容, 来源链接: utcz.com/qa/426804.html

回到顶部