有没有办法在django的管理网站中使用预先填充的字段获得与标准模型中的slug字段相同的结果
答案 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);
}
}