Это способ создания действительного 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 этой веб-страницы для примера!