2009-09-07 57 views

回答

9

那么Django是开放的源,所以如果你想复制某些行为,你可以read the code并挑选你喜欢的东西。举例来说,你可以看到,contrib.admin使用称为urlify.js做动态脚本猛击,随着使用这样的事情:

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

...当然依赖于您的管理员媒体从服务的(矿或者如果你很乐意在你的视图中进行你的推断,你可以使用django.template中使用的函数作为slugify过滤器:django.template.defaultfilters.slugify

+0

要打开最新: *路径为admin JavaScript是'/静态/管理/ JS /与静态urlify.js'或模板模板标签'{%static'admin/js/urlify.js'%}' *'URLify(s,num_chars,allowUnicode)'现在允许使用Unicode,所以您需要向'true'/'false' URLify函数调用。 – Chad 2018-02-28 14:27:50

+0

此外,还需要包含一个脚本'/ static/admin/js/vendor/xregexp/xregexp.min.js' – Chad 2018-02-28 19:29:51

-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); 
    } 
}