问题 Django:将Javascript添加到自定义小部件的最佳方式


我正在编写一个自定义小部件,需要一些支持的javascript代码,我需要输出somehwere。

选项是:

  1. 在html代码之后立即转储它。
  2. 将其附加到表单的媒体。
  3. 将其附加到全球 onReady 部分。

我的直觉是避免这样的事情:

<!-- original widget output -->
<input id="date" />
<-- Appended javascript -->
<script type="text/javascript">
jQuery('#date').datepicker()
</script> 

相反,我最近在我的PHP项目中选择了第3项。 Django有没有做过2或3的好方法?我希望我可以从我的小部件的上下文中使用这种方法 render 功能。这可能会排除选项2)如果我的小部件不知道它的形式。


11501
2018-02-09 03:05


起源



答案:


看看表单媒体 http://docs.djangoproject.com/en/dev/topics/forms/media/#topics-forms-media


10
2018-02-09 04:58



咄。那很明显;)关于这一点的一点是它能够包含文件,但似乎没有能力在它旁边追加一个独特的脚本块。我可以改变我的方法并使用基于类的选择器来附加,在这种情况下,jQuery datepickers。 - Koobz
我知道这是原始问题之后的几年,但动态脚本呢?这只会添加脚本文件,但我想要添加一个脚本 $(#S_1).datetimepicker({S_2}),我以编程方式构造字符串S_1和S_2? - 5xum


答案:


看看表单媒体 http://docs.djangoproject.com/en/dev/topics/forms/media/#topics-forms-media


10
2018-02-09 04:58



咄。那很明显;)关于这一点的一点是它能够包含文件,但似乎没有能力在它旁边追加一个独特的脚本块。我可以改变我的方法并使用基于类的选择器来附加,在这种情况下,jQuery datepickers。 - Koobz
我知道这是原始问题之后的几年,但动态脚本呢?这只会添加脚本文件,但我想要添加一个脚本 $(#S_1).datetimepicker({S_2}),我以编程方式构造字符串S_1和S_2? - 5xum