Sentry Answers>Django>

What is a "slug" in Django?

What is a "slug" in Django?

Naveera A.

The Problem

You often see the term “slug” in Django tutorials and documentation. What is a “slug”?

The Solution

Slug is a term from newspaper language. It appears in Django because Django started as a project for a newspaper in Kansas.

A slug is a string that can only include characters, numbers, dashes, and underscores. It is the part of a URL that identifies a particular page on a website, in a human-friendly form.

Imagine if you have a personal blog with the URL http://mysite.com. In that blog you have a post with the title ‘A day in my life’.

The URL to this post may look like the following:

http://mysite.com/a-day-in-my-life

The string a-day-in-my-life is the slug, which will take you to the corresponding post’s page. Your post may have an ID and you may decide to get to the post’s page using the ID, like so:

http://mysite.com/1

But it is good practice to use slugs in the URL, as they are more human-friendly and good for the SEO of your site.

In Django, you can use the built-in SlugField to add a slug to your model. Like so:

Click to Copy
class Posts(models.Model): title = models.CharField(max_length=255) body = models.TextField() slug = models.SlugField() # <==
  • Syntax.fmListen to the Syntax Podcast
  • Community SeriesIdentify, Trace, and Fix Endpoint Regression Issues
  • ResourcesBackend Error Monitoring 101
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark of Functional Software, Inc.