この質問は関連しています
Django: Javascript をカスタム ウィジェットに追加する最良の方法
しかし、同じではありません。
元の質問は、カスタム django ウィジェットにサポートする JavaScript を追加する方法を尋ねており、答えは を使用することforms.Media
ですが、その解決策は私にはうまくいきません。私の例はこれです:
ウィジェットは、フォームにレンダリングされると、(おもちゃの例) 次のような行を作成します。
<div id="some-generated-id">Text here</div>
ここで、出力に追加したいのは、次のような別の行です。
<script>
$('#some-generated-id').datetimepicker(some-generated-options)
</script>
最初のアイデアは、ウィジェットがレンダリングされるときに と の両方がレンダリングされるというものですがdiv
、script
それは機能しません。問題は、html
ドキュメントの構造が次のようになっていることです。
-body
- my widget
- my widget's javascript
-script
-calls to static files (jQuery, datetimepicker,...)
ウィジェットの JavaScript コードがブラウザーに読み込まれる時点では、jQuery および datetimepicker js ファイルはまだ読み込まれていません (ドキュメントの最後に読み込まれます)。
を使用してこれを行うことはできませんMedia
。生成するオプションと ID は関数にとって不可欠であるためです。これを解決する最善の方法は何ですか?