当我阅读Django代码时,我经常在模型中看到所谓的“slug”。我不太确定这是什么,但我知道它与url有关。这个鼻涕虫什么时候该怎么用?
(我已在本术语表中阅读了它的定义。)
鼻涕虫 某物的缩写标签,只包含字母、数字、 下划线或连字符。它们通常用于url中。例如, 在一个典型的博客入口URL中: https://www.djangoproject.com/weblog/2008/apr/12/spring/最后一位 (弹簧)是鼻涕虫。
当我阅读Django代码时,我经常在模型中看到所谓的“slug”。我不太确定这是什么,但我知道它与url有关。这个鼻涕虫什么时候该怎么用?
(我已在本术语表中阅读了它的定义。)
鼻涕虫 某物的缩写标签,只包含字母、数字、 下划线或连字符。它们通常用于url中。例如, 在一个典型的博客入口URL中: https://www.djangoproject.com/weblog/2008/apr/12/spring/最后一位 (弹簧)是鼻涕虫。
当前回答
slug
某物的短标签,只包含字母、数字、下划线或连字符。它们通常用于url中。例如,在一个典型的博客条目URL中:
https://www.djangoproject.com/weblog/2008/apr/12/spring/ 最后一点(弹簧)是弹簧。
其他回答
它是URL的描述部分,使其更人性化的描述,但不一定是web服务器所要求的——在Django中什么是“slug”?这个slug是'in-django-what-is-a-slug',但是这个slug并不用于决定服务的页面(至少在这个站点上)。
也可以在django-admin中自动加载。在ModelAdmin添加:
prepopulated_fields = {'slug': ('title', )}
在这里:
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'slug')
search_fields = ('content', )
prepopulated_fields = {'slug': ('title', )}
请允许我提供一些历史背景:
术语“弹头”与铸造金属铅有关,在这种情况下,印刷字体是由金属铅制成的。然后,每张纸的字体工厂都会定期重新熔化并在新的模具中重新铸造,因为经过多次打印后,它们会磨损。像我这样的学徒在那里开始了他们的职业生涯,并一路走到顶峰(不再)。
Typographs had to compose the text of an article in a backward manner with lead characters stacked in a wise. So at printing time the letters would be straight on the paper. All typographs could read the newspaper mirrored as fast as the printed one. Therefore the slugs, (like snails) also the slow stories (the last to be fixed) were many on the bench waiting, solely identified by their fist letters, mostly the whole title generally more readable. Some "hot" news were waiting there on the bench, for possible last minute correction, (Evening paper) before last assembly and definitive printing.
姜戈走出了劳伦斯杂志在堪萨斯州的办公室。那里可能还有一些印刷术语。A-django-enthusiast -&-friendly-old-slug-boy-from-France。
“鼻涕虫”这个词来自报纸行业。
这是在制作过程中对故事的非正式称呼。随着故事从记者(假设这些还存在吗?)到编辑,再到“印刷机”,这就是它所引用的名字,例如,“你修复了‘凯特和威廉’故事中的那些错误吗?”
有些系统(如Django)使用slug作为URL的一部分来定位故事,例如www.mysite.com/archives/kate-and-william。
甚至Stack Overflow本身也会这样做,使用GEB-ish(a)自引用https://stackoverflow.com/questions/427102/what-is-a-slug-in-django/427201#427201,尽管你可以用blahblah替换slug,它仍然会发现它是可以的。
它甚至可以追溯到更早的时候,因为剧本在每个场景的开始都有“弹头线”,这基本上是为该场景设置背景(何时何地等)。它的相似之处在于它是后面内容的序言。
在Linotype机器上,slug是由单个字母形成的单线金属片。通过为整行制作一个分段,这大大改进了旧的逐字符合成。
虽然以下是纯粹的猜测,但slug的早期含义是指伪造的硬币(必须以某种方式压制)。我可以想象这种用法被转化为印刷术语(因为弹头必须使用原始角色来按压),然后从“金属块”的定义转变为“故事摘要”的定义。从那时起,从正规印刷到网络世界只差一小步。
(一)道格拉斯·霍夫施塔特(Douglas Hofstadter)的《哥德尔·埃舍尔,巴赫》(Godel Escher, Bach),我(至少)认为它是现代知识分子最伟大的作品之一。你也应该看看他的其他作品,《超魔法西马斯》。
slug
某物的短标签,只包含字母、数字、下划线或连字符。它们通常用于url中。例如,在一个典型的博客条目URL中:
https://www.djangoproject.com/weblog/2008/apr/12/spring/ 最后一点(弹簧)是弹簧。