Javascript Django:在运行时将JS添加到表单
我试过这个:Javascript Django:在运行时将JS添加到表单,javascript,django,runtime,Javascript,Django,Runtime,我试过这个: my_form.media.add_js(['path-to/foo.js']) 但是从未添加过foo.js 我发现media是一个属性。这样,每次我使用我的表单.media时都会创建它。因此,add_js()只添加到一个临时媒体对象,它将在下一行Python中消失 如何在运行时将JS文件添加到django表单?在表单中包含JS(或CSS)有两种方法。使用其中一个,而不是两个 1。使用课堂媒体 class MyForm(forms.Form): # form fields
my_form.media.add_js(['path-to/foo.js'])
但是从未添加过foo.js
我发现media
是一个属性。这样,每次我使用我的表单.media
时都会创建它。因此,add_js()
只添加到一个临时媒体对象,它将在下一行Python中消失
如何在运行时将JS文件添加到django表单?在表单中包含JS(或CSS)有两种方法。使用其中一个,而不是两个 1。使用
课堂媒体
class MyForm(forms.Form):
# form fields ...
class Media:
js = ('file_name.js', )
2。使用媒体
属性
class MyForm(forms.Form):
# fields ...
@property
def media(self):
media = super(MyForm, self).media
js = ('file_name.js',)
media.add_js(js)
return media
在表单中包含JS(或CSS)有两种方法。使用其中一个,而不是两个 1。使用
课堂媒体
class MyForm(forms.Form):
# form fields ...
class Media:
js = ('file_name.js', )
2。使用媒体
属性
class MyForm(forms.Form):
# fields ...
@property
def media(self):
media = super(MyForm, self).media
js = ('file_name.js',)
media.add_js(js)
return media
(我可能误解了你的问题)一旦django提供页面,它就不再控制页面了。客户端浏览器现在保存它正在查看的页面和所有链接到它的js文件。您可以对JS文件发出AJAX请求,并动态加载它们,或者提供将在运行时请求的JS文件列表。在这两种情况下,您都必须在页面中插入检索JS和初始化的代码。@kicker86是的,您误解了我的意思。到目前为止,响应尚未离开服务器。我有一个表单实例,希望在运行时向其媒体添加一个JS文件。我希望现在更清楚。请看一下这里的媒体课(我可能误解了你的问题)。一旦django提供了页面,它就不再控制它了。客户端浏览器现在保存它正在查看的页面和所有链接到它的js文件。您可以对JS文件发出AJAX请求,并动态加载它们,或者提供将在运行时请求的JS文件列表。在这两种情况下,您都必须在页面中插入检索JS和初始化的代码。@kicker86是的,您误解了我的意思。到目前为止,响应尚未离开服务器。我有一个表单实例,希望在运行时向其媒体添加一个JS文件。我希望现在更清楚。请看一下这里的媒体类。我不知道您可以创建一个名为
Media
的属性。这个答案解决了我的问题。非常感谢。现在我找到了相关文档:我不知道您可以创建一个名为media
的属性。这个答案解决了我的问题。非常感谢。现在我找到了相关的文档: