Implementing slugs in Django routes

Posted by

Utilizando slug em rotas do Django

Utilizando slug em rotas do Django

Uma prática comum ao desenvolver aplicações web é utilizar URLs amigáveis para melhorar a experiência do usuário. No Django, podemos utilizar o conceito de “slug” em rotas para criar URLs mais legíveis e fáceis de entender.

O que é um slug? Um slug é uma versão amigável de um texto, normalmente utilizado em URLs para identificar um recurso de forma mais simples. Por exemplo, ao invés de ter uma URL como “meusite.com/post?id=1”, podemos ter uma URL mais amigável como “meusite.com/post/titulo-do-post”. O “titulo-do-post” é o slug que identifica de forma única aquele recurso.

No Django, podemos utilizar o campo “slug” em nossos modelos para armazenar esses identificadores amigáveis. Para utilizar um slug em uma rota, devemos primeiro configurar a rota no arquivo de urls.py do nosso projeto. Por exemplo:


from django.urls import path
from . import views

urlpatterns = [
path('post//', views.post_detail, name='post_detail'),
]

Neste exemplo, estamos definindo uma rota que espera um argumento do tipo slug chamado “post_slug” e leva o usuário para a view “post_detail”. Na nossa view, podemos utilizar esse slug para buscar o post correspondente no banco de dados e exibir as informações na página.

Para adicionar um campo slug em nosso modelo, podemos utilizar o campo SlugField do Django. Por exemplo:


from django.db import models

class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
slug = models.SlugField(unique=True)

def __str__(self):
return self.title

Agora, sempre que criarmos um novo post, podemos gerar automaticamente um slug baseado no título do post e utilizar esse slug na rota. Isso torna as URLs mais amigáveis e fáceis de compartilhar.

Utilizar slugs em rotas do Django é uma ótima prática para melhorar a usabilidade e a experiência do usuário em suas aplicações web. Com URLs mais legíveis e intuitivas, os usuários terão mais facilidade para navegar e compartilhar seu conteúdo.

0 0 votes
Article Rating
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@igorrodrigues766
6 months ago

não é possivel! melhor aula que achei sobre django ja consumi as 2 primeiras aulas e pretendo ver todas