2009-09-07 9 views

Répondre

9

Eh bien django est ouvert source, donc si vous voulez reproduire certains comportements, vous pouvez read the code et choisissez et choisissez ce que vous aimez. Par exemple, vous pouvez voir que contrib.admin utilise un script appelé urlify.js pour faire le briquetage dynamique, avec une utilisation quelque chose comme ceci:

<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> 

... en fonction bien sûr de l'endroit où vos médias d'administration est servi de (la mienne est de "/ admin-media /")

Ou si vous êtes heureux de faire votre slugifying dans votre vue, vous pouvez utiliser la fonction qui est utilisée dans django.template comme le filtre slugify: django.template.defaultfilters.slugify.

+0

Elever à jour: * Chemin de l'administrateur javascript est '/ statique/admin/js/urlify.js' ou dans le modèle avec la statique balise template '{% static 'admin/js/urlify.js'%}' * 'URLify (s, num_chars, allowUnicode)' autorise maintenant Unicode, donc vous devez ajouter 'true' /' false' au Appel de fonction URLify. – Chad

+0

Aussi, devra inclure un script supplémentaire '/ static/admin/js/vendeur/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); 
    } 
} 
Questions connexes