«Слаг» - это способ создания действительного URL, обычно с использованием уже полученных данных. Например, слаг использует заголовок статьи для генерации 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-year-old-virgin
это слаг: он создается из заголовка путем уменьшения всех букв в нижнем регистре и замены пробелов дефисами -
.
Также посмотрите URL этой самой веб-страницы для другого примера.
Если я могу предоставить некоторый исторический контекст:
Термин «слизняк» имеет отношение к отливке металла, в данном случае к свинцу, из которого были сделаны печатные шрифты. Затем каждая бумага имела свои фабрики шрифтов, которые регулярно переплавлялись и превращались в свежие формы, так как после многих отпечатков они изнашивались. Ученики, подобные мне, начинали свою карьеру там и прошли весь путь до вершины (больше нет).
Книгопечатания должны были составлять текст статьи задом наперед, с ведущими символами, сложенными мудро. Таким образом, во время печати буквы будут прямо на бумаге. Все печатные издания могли читать газету так же быстро, как печатную. Поэтому слизняки (как улитки), а также медленные истории (последние должны быть исправлены) находились в ожидании на скамейке, идентифицируемые только по первым буквам, в основном весь заголовок, как правило, более читаемый. Там, на скамейке, ожидали «горячие» новости о возможной коррекции в последний момент («Вечерняя бумага») до последней сборки и окончательной печати.
Джанго вышел из офиса журнала Лоуренса в Канзасе. Где, вероятно, какой-то печатный жаргон все еще задерживается. A-Джанго-энтузиаст - & - дружественно старый слизняк-мальчик из-Франции.
источник
Термин «слизняк» происходит из мира газетного производства.
Это неофициальное имя, данное истории в процессе производства. По мере того как история проходит путь от репортера ритма (предполагая, что они вообще существуют ?) До редактора и до «печатных машин», на это имя ссылаются, например, «Исправили ли вы эти ошибки в» Кейт-и-Уильям "История?"
Некоторые системы (например, Django) используют слаг как часть URL, чтобы найти историю, например
www.mysite.com/archives/kate-and-william
.Даже сам Stack Overflow делает это с помощью самореференции GEB-ish (a)
/programming/427102/what-is-a-slug-in-django/427201#427201
, хотя вы можете заменить слаг на,blahblah
и он все равно найдет его в порядке.Это может даже датироваться более ранним, чем это, так как на экранах были «пробковые линии» в начале каждой сцены, которые в основном устанавливают фон для этой сцены (где, когда и так далее). Это очень похоже на то, что это точная или преамбула того, что следует.
На машине Линотипа слизняк представлял собой однолинейный кусок металла, который был создан из отдельных буквенных форм. Создав один фрагмент для всей строки, это значительно улучшило старое посимвольное наложение.
Хотя нижеследующее является чистой гипотезой, раннее значение слизняка было для поддельной монеты (которую нужно было как-то нажимать). Я мог бы предположить, что это использование будет преобразовано в термин печати (поскольку пуля должна была нажиматься с использованием оригинальных символов), и оттуда, переходя от определения «кусок металла» к определению «краткое содержание». Оттуда, это правильный шаг от правильной печати в онлайн-мире.
(а) «Годел Эшер, Бах» Дугласа Хофштадтера , который я (по крайней мере) считаю одним из великих современных интеллектуальных произведений. Вы должны также проверить его другую работу, "Metamagical Themas".
источник
Слаг-поле в Django используется для хранения и генерации действительных URL-адресов для ваших динамически создаваемых веб-страниц.
Так же, как вы добавили этот вопрос в Переполнение стека, и была сгенерирована динамическая страница, и когда вы увидите в адресной строке, вы увидите заголовок вашего вопроса с «-» вместо пробелов. Это точно работа слизняка.
источник
От сюда .
источник
Это описательная часть URL, которая предназначена для того, чтобы сделать его более понятным для человека, но не обязательно запрашиваемым веб-сервером. Что такое «слаг» в Django? слаг - это «in-django-what-is-a-slug», но слаг не используется для определения обслуживаемой страницы (по крайней мере, на этом сайте)
источник
Slug - это удобный URL-ярлык для конкретного контента. Он содержит только буквы, цифры, знаки подчеркивания или дефисы. Слагы обычно сохраняются вместе с соответствующим контентом и передаются в виде строки URL.
Slug можно создавать с помощью SlugField
Пример:
Если вы хотите использовать title как slug, у django есть простая функция под названием
slugify
Если это требует уникальности, добавьте
unique=True
в поле слаг.например, из предыдущего примера:
Тебе лень делать слизняк? не волнуйтесь, этот плагин поможет вам. Джанго-autoslug
источник
Также авто слаг у django-admin. Добавлено в ModelAdmin:
Как здесь:
источник
слизень
Короткая метка для чего-либо, содержащая только буквы, цифры, подчеркивания или дефисы. Они обычно используются в URL. Например, в типичном URL записи в блоге:
https://www.djangoproject.com/weblog/2008/apr/12/spring/ последний бит (пружина) - это слизень.
источник