2009-09-07 39 views

Trả lời

9

Vâng django đang mở nguồn, vì vậy nếu bạn muốn sao chép hành vi nhất định, bạn có thể read the code và chọn và chọn những gì bạn thích. Ví dụ, bạn có thể thấy contrib.admin có sử dụng một kịch bản gọi là urlify.js để làm slugging năng động, với một cái gì đó sử dụng như thế này:

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

... phụ thuộc vào khóa học về truyền thông nơi admin của bạn được phục vụ từ (mỏ là từ "/ admin-media /")

Hoặc nếu bạn sẵn sàng làm việc slugifying trong chế độ xem của mình, bạn có thể sử dụng chức năng được sử dụng trong django.template làm bộ lọc slugify: django.template.defaultfilters.slugify.

+0

Để mang lại up-to-date: * Đường dẫn cho các admin javascript là '/ static/admin/js/urlify.js' hoặc trong mẫu với các tĩnh thẻ mẫu '{% static 'admin/js/urlify.js'%}' * 'URLify (s, num_chars, allowUnicode)' giờ cho phép Unicode, vì vậy bạn cần thêm 'true' /' false' vào URLify gọi hàm. – Chad

+0

Ngoài ra, sẽ cần bao gồm tập lệnh bổ sung '/ static/admin/js/vendor/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); 
    } 
} 
Các vấn đề liên quan