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.
não é possivel! melhor aula que achei sobre django ja consumi as 2 primeiras aulas e pretendo ver todas