Django コードを読むと、モデルの中に「スラッグ」と呼ばれるものがよく出てきます。これが何なのかよくわかりませんが、URL と関係があることは知っています。このスラッグはいつ、どのように使用すればよいのでしょうか?
私はその定義を以下で読んだ。この用語集:
スラッグ
文字、数字、アンダースコア、ハイフンのみを含む、何かの短いラベル。通常は URL で使用されます。たとえば、典型的なブログ エントリの URL では次のようになります。https://www.djangoproject.com/weblog/2008/apr/12/spring/最後の部分(春)はナメクジです。
ベストアンサー1
「スラッグ」とは、通常、すでに取得されているデータを使用して有効な 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 にはなりません。次の URL の方が良いでしょう。
www.example.com/article/the-46-year-old-virgin
この例では、the-46-year-old-virgin
はスラッグです。これは、タイトルのすべての文字を小文字にし、スペースをハイフンに置き換えることで作成されます-
。
別の例については、この Web ページの URL も参照してください。