7

有没有办法在标准模型表单中使用 django 管理站点中的预填充字段作为 slug 字段获得相同的结果

4

2 回答 2

10

好吧 django 是开源的,所以如果你想复制某些行为,你可以阅读代码并挑选你喜欢的东西。例如,您可以看到 contrib.admin 使用一个名为urlify.js的脚本来执行动态 slugging,用法如下:

<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/”)

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

于 2009-09-07T12:56:54.380 回答
-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);
    }
}
于 2012-02-03T14:42:36.450 回答