Django: los campos tipo slug - Userlinux.net

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

14.Sep.2010 ~ 0 Comentarios ~ 938 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.

Comentarios


Todavía no hay comentarios

Comentarios


Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

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

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

Archivo

Social

Enlaces de interés