2009-09-07 18 views

Respuesta

9

Bueno Django es abierto fuente, por lo que si desea replicar cierto comportamiento puede read the code y elegir y elegir lo que desee. Por ejemplo, se puede ver que contrib.admin utiliza un script llamado urlify.js para hacer el slugging dinámico, con el uso de algo como esto:

<script type="text/javascript" src="/admin-media/js/urlify.js"></script> 
<script type="text/javascript"> 
document.getElementById("id_title").onkeyup = function() { 
    var e = document.getElementById("id_slug"); 
    if (!e._changed) { e.value = URLify(document.getElementById("id_title").value, 50); } 
} 
</script> 

... dependiendo por supuesto de los medios de comunicación, donde el administrador se sirve de (el mío es de "/ admin-media /")

O si está contento de hacer su slugifying en su vista, puede usar la función que se usa en django.template como el filtro slugify: django.template.defaultfilters.slugify.

+0

Para que aparezca al día: * Ruta de acceso para el administrador Javascript es '//admin/js/urlify.js' estática o en la plantilla con la estática etiqueta de plantilla '{% static 'admin/js/urlify.js'%}' * 'URLify (s, num_chars, allowUnicode)' ahora permite Unicode, por lo que necesita agregar 'true' /' false' al Llamada a la función URLify. – Chad

+0

Además, deberá incluir un script adicional '/ static/admin/js/vendor/xregexp/xregexp.min.js' – Chad

-1
<script type="text/javascript" src="/media/js/urlify.js"></script> 

 

var slug = document.getElementById("id_slug").value; 

document.getElementById("id_name").onkeyup = function() { 
    if (slug == '') { 
     document.getElementById("id_slug").value = URLify(document.getElementById("id_name").value, 50); 
    } 
} 
Cuestiones relacionadas