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

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

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


当前回答

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

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

弹头只包含:

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

其他回答

简而言之,slug帮助摆脱那些丑陋的url与有效的url为例,在一个电子商务网站,而不是显示url为www.myecom.com/product/5432156,我可以显示它像www.myecom.com/product/iphone11与slug的帮助

slug

某物的短标签,只包含字母、数字、下划线或连字符。它们通常用于url中。例如,在一个典型的博客条目URL中:

https://www.djangoproject.com/weblog/2008/apr/12/spring/ 最后一点(弹簧)是弹簧。

Slug是针对特定内容的URL友好的短标签。它只包含字母,数字,下划线或连字符。鼻涕虫通常与各自的内容一起保存,并作为URL字符串传递。

Slug可以使用SlugField创建

Ex:

class Article(models.Model):
    title = models.CharField(max_length=100)
    slug = models.SlugField(max_length=100)

如果你想使用title作为slug, django有一个简单的函数叫做slugify

from django.template.defaultfilters import slugify

class Article(models.Model):
    title = models.CharField(max_length=100)

    def slug(self):
        return slugify(self.title)

如果需要唯一性,在slug字段中添加unique=True。

例如,在前面的例子中:

class Article(models.Model):
    title = models.CharField(max_length=100)
    slug = models.SlugField(max_length=100, unique=True)

你懒得做鼻涕虫过程吗?别担心,这个插件会帮你的。 django-autoslug

鼻涕虫是一个报纸术语。段语是一个简短的标签,只包含字母、数字、下划线或连字符。它们通常用于url中。(在Django文档中)

在Django中,slug字段用于为动态创建的网页存储和生成有效的url。

就像你在Stack Overflow上添加这个问题的方式一样,生成了一个动态页面,当你在地址栏中看到时,你会看到你的问题标题用“-”代替空格。这正是弹头场的工作。

你输入的标题是这样的——> Django中的“slug”是什么? 在将它存储到一个slug字段时,它就变成了“django中是什么-a-slug-in-django”(见本页URL)

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

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

弹头只包含:

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