7

標準モデルフォームのスラッグフィールドに、django の管理サイトで事前入力されたフィールドを使用するのと同じ結果を得る方法はありますか?

4

2 に答える 2

10

djangoはオープンソースなので、特定の動作を再現したい場合は、コードを読んで、好きなものを選んで選択できます。たとえば、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 /」からです)

または、ビューでslugifyingを実行することに満足している場合は、django.templateで使用されている関数django.template.defaultfilters.slugifyを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 に答える