django auto slug在模型中形成如django admin中的预填充字段

时间:2009-09-07 09:29:00

标签: django slug django-forms

有没有办法在django的管理网站中使用预先填充的字段获得与标准模型中的slug字段相同的结果

2 个答案:

答案 0 :(得分: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>

...当然取决于您的管理媒体的来源(我的是来自“/ admin-media /”)

或者,如果您乐意在视图中进行重击,则可以使用django.template中使用的函数作为slugify过滤器:django.template.defaultfilters.slugify

答案 1 :(得分:-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);
    }
}