Tag slug - Userlinux.net

Posts sobre el tag slug

Django: los campos tipo slug

14.Sep.2010 ~ 0 Comentarios ~ 941 Lecturas

Cuando -en programación web- queremos un campo del tipo slug habitualmente es porque tenemos un valor que pensamos convertir en url o similar, el ejemplo más claro lo podemos ver en este blog, con el título de cada entrada y la url de la misma:

  • Django: los campos tipo slug -> django-los-campos-tipo-slug
  • Dovecot, pequeñas peculiaridades -> dovecot-pequenas-peculiaridades

Los slugs (los de la derecha) se adaptan a url's canónicas que todo el mundo puede  visitar, sin caracteres raros ni ningún otro tipo de mala influencia para la gran G.

Django ya había pensado en ello y por eso tiene un tipo de datos SlugField, en general si a la hora de modelar la base de datos tomamos algo de tiempo para hacer las cosas bien nos ahorraremos mucho código. Veamos un poco de models.py para hacernos una idea de como queda el invento:

class Entry(models.Model):
    title = models.CharField(max_length=200)
    slug = models.SlugField() 

Definimos el campo slug como SlugField como habíamos dicho y dejamos que la magia se ocupe del resto. Por otro lado en la parte de administración debemos decirle que ese campo se tiene que rellenar de forma automágica con el contenido sluggeado del campo title. El correspondiente código de admin.py:

class AdminEntries(admin.ModelAdmin):
    prepopulated_fields = { 'slug': ['title'] }

Una vez hecho ésto tan solo nos queda ir al admin y probar que funciona, si configuráis el campo slug como visible veréis que según vamos escribiendo en el input del title se va generando el slug. Poco más de 5 lineas para tener la funcionalidad básica de un slug lista para usar en Django.

Slugs fuera de CakePHP

05.Dec.2007 ~ 1 Comentarios ~ 1058 Lecturas
Dentro de una base de datos, el campo que yo siempre llamaba url parece que ha evolucionado y se ha puesto de moda llamarle slug. Este campo sirve para guardar una cadena fácilmente recordable y única para hacer más cómodo el acceso a un registro:
Array
(
	[id] => 520
	[title] => "P.E.S. 2008"
	[slug] => "pes_2008"
)
A la hora de acceder al registro podremos hacerlo comprobando id ó slug de manera arbitraria, facilitando al usuario el poder recordar un término u otro:
  • http://loquesea/detalle?q=520
  • http://loquesea/detalle?q=pes_2008
Con ésto y un poco de mod_rewrite podríamos decir que los slugs juegan un gran papel en el "dns de las webs dinámicas" (¡menuda teoría!).

Buscar

Cargando...

Últimos comentarios

  • graffic
  • reidrac
  • reidrac
  • Wu
  • dilam
  • r0sk
  • reidrac
  • r0sk
  • chucu
  • r0sk
  • el_palomo_programador
  • r0sk
  • reidrac
  • Player 1
  • r0sk

Moneting

Valor de mi cuenta de Facebook según Moneting
Valor de mi cuenta de Twitter según Moneting

Tagcloud

conciertos felicidades barça sysadmin ssh sidenotes python cakephp lucux mac programación blogs rfilms humor hack 2008 lugo mundial blog macosx 2007 frases twitter debian userlinux openbsd opinion ds web bash rsidenotes league vacaciones cumpleaños meme canción futbol mysql php django ubuntu nintendo linux apple games blogsfera ps3 seguridad films champions bsd freebsd twitt personal iphone cake deportes alemania_2006 bake juegos

Archivo

Social

Enlaces de interés