Uma "lesma" é uma maneira de gerar uma URL válida, geralmente usando dados já obtidos. Por exemplo, uma lesma usa o título de um artigo para gerar um URL. Aconselho a gerar a lesma por meio de uma função, dado o título (ou outro dado), em vez de defini-la manualmente.
Um exemplo:
<title> The 46 Year Old Virgin </title>
<content> A silly comedy movie </content>
<slug> the-46-year-old-virgin </slug>
Agora vamos fingir que temos um modelo do Django como:
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField(max_length=1000)
slug = models.SlugField(max_length=40)
Como você faria referência a esse objeto com uma URL e um nome significativo? Você pode, por exemplo, usar Article.id para que a URL fique assim:
www.example.com/article/23
Ou você pode querer referenciar o título assim:
www.example.com/article/The 46 Year Old Virgin
Como os espaços não são válidos nos URLs, eles devem ser substituídos por %20
, o que resulta em:
www.example.com/article/The%2046%20Year%20Old%20Virgin
Ambas as tentativas não resultam em URL muito significativo e fácil de ler. Isto é melhor:
www.example.com/article/the-46-year-old-virgin
Neste exemplo, the-46-year-old-virgin
é uma lesma: ela é criada a partir do título, colocando em caixa baixa todas as letras e substituindo os espaços por hífens -
.
Veja também o URL desta página da Web para outro exemplo.
Se eu puder fornecer algum contexto histórico:
O termo "lesma" tem a ver com fundição de metal - chumbo, neste caso - a partir do qual as fontes da imprensa foram feitas. Todos os papéis tinham suas fábricas de fontes re-derretidas e reformuladas regularmente em moldes novos, pois após muitas impressões elas se desgastavam. Aprendizes como eu começaram sua carreira lá, e foram até o topo (não mais).
Os tipógrafos precisavam compor o texto de um artigo de maneira inversa, com os caracteres principais empilhados de maneira sábia. Portanto, no momento da impressão, as letras seriam diretamente sobre o papel. Todas as tipografias podiam ler o jornal espelhado tão rápido quanto o impresso. Portanto, as lesmas (como caracóis) e também as histórias lentas (as últimas a serem corrigidas) eram muitas no banco de espera, identificadas apenas por suas primeiras letras, principalmente o título inteiro geralmente mais legível. Algumas notícias "quentes" estavam esperando no banco, para uma possível correção de última hora (jornal da noite) antes da última montagem e impressão definitiva.
Django surgiu dos escritórios do jornal Lawrence no Kansas. Onde provavelmente ainda existe algum jargão de impressão. A-django-entusiasta - e-amigável-velho-lesma-menino-da-França.
fonte
O termo 'lesma' vem do mundo da produção de jornais.
É um nome informal dado a uma história durante o processo de produção. À medida que a história segue seu caminho, do repórter beat (supondo que eles existam mais?) Até o editor e as "impressoras", esse é o nome pelo qual é referenciada, por exemplo, "Você corrigiu esses erros no campo ' a história de Kate e William? ".
Alguns sistemas (como o Django) usam a lesma como parte da URL para localizar a história, por exemplo
www.mysite.com/archives/kate-and-william
.Até o próprio Stack Overflow faz isso, com o auto-referencial GEB-ish (a)
/programming/427102/what-is-a-slug-in-django/427201#427201
, embora você possa substituir o slugblahblah
e ele ainda o considere aceitável.Pode até remontar antes disso, já que os roteiros tinham "slug lines" no início de cada cena, o que basicamente define o plano de fundo dessa cena (onde, quando e assim por diante). É muito semelhante, pois é um precis ou preâmbulo do que se segue.
Em uma máquina Linotype, uma lesma era uma peça de metal de uma única linha, criada a partir dos formulários de letras individuais. Ao criar uma única lesma para toda a linha, isso melhorou bastante a composição de caractere por caractere antigo.
Embora o que se segue seja pura conjectura, um significado inicial de lesma era para uma moeda falsificada (que teria que ser pressionada de alguma forma). Eu poderia imaginar que o uso fosse transformado para o termo de impressão (já que a lesma tinha que ser pressionada usando os caracteres originais) e a partir daí, passando da definição de 'peça de metal' para a definição de 'resumo da história'. A partir daí, é um pequeno passo da impressão adequada para o mundo online.
(a) "Godel Escher, Bach", de Douglas Hofstadter , que eu (pelo menos) considero uma das grandes obras intelectuais modernas. Você também deve conferir seu outro trabalho, "The Metamagical Themas".
fonte
Um campo slug no Django é usado para armazenar e gerar URLs válidos para suas páginas da web criadas dinamicamente.
Assim como você adicionou essa pergunta no Stack Overflow, uma página dinâmica foi gerada e, quando você vê na barra de endereços, verá o título da pergunta com "-" no lugar dos espaços. Esse é exatamente o trabalho de um campo de lesmas.
fonte
A partir daqui .
fonte
É uma parte descritiva da URL que existe para torná-la mais descritiva, mas sem necessariamente ser exigida pelo servidor web - em O que é uma "lesma" no Django? a lesma é 'in-django-what-is-lesma', mas a lesma não é usada para determinar a página veiculada (pelo menos neste site)
fonte
Slug é um atalho amigável para URLs para conteúdo específico. Ele contém apenas letras, números, sublinhados ou hífens. As lesmas geralmente são salvas com o respectivo conteúdo e passam como uma string de URL.
Slug pode criar usando SlugField
Ex:
Se você quiser usar o título como slug, o django possui uma função simples chamada
slugify
Se precisar de exclusividade, adicione
unique=True
no campo slug.por exemplo, do exemplo anterior:
Você está com preguiça de fazer processo de lesma? não se preocupe, este plugin irá ajudá-lo. django-autoslug
fonte
Também slug automático no django-admin. Adicionado no ModelAdmin:
Como aqui:
fonte
lesma
Um rótulo curto para algo, contendo apenas letras, números, sublinhados ou hífens. Eles geralmente são usados em URLs. Por exemplo, em um URL de entrada de blog típico:
https://www.djangoproject.com/weblog/2008/apr/12/spring/ o último bit (primavera) é a lesma.
fonte