使用带有松散表单的Django表单资源(媒体类)时,页面中未包含.js文件

使用带有松散表单的Django表单资源(媒体类)时,页面中未包含.js文件,第1张

概述我正在重现Django文档( doc)中关于如何使用自定义日历窗口小部件自动包含.js或.css文件的基本示例: class CalendarWidget(forms.TextInput):class Media: js = ('test.js',) 在简单表单的字段定义中使用该CalenderWidget时,不会在页面中注入test.js文件.我正在使用Crispy表单在我的模板中呈 我正在重现Django文档( doc)中关于如何使用自定义日历窗口小部件自动包含.Js或.CSS文件的基本示例:

class CalendarWidget(forms.Textinput):class Media:    Js = ('test.Js',)

在简单表单的字段定义中使用该CalenderWidget时,不会在页面中注入test.Js文件.我正在使用Crispy表单在我的模板中呈现表单,所以我认为这应该是问题的根源……

现在,我必须在我的模板中添加{{form.media}}标签以强制将test.Js文件添加到页面中,但我想找到一种方法来使事情更“自动”,就像它一样应该是…

非常感谢

解决方法 我刚才遇到了同样的问题……并找到了一两个解决方法.

从…开始:

class MyForm(Form):    def __init__(self,*args,**kwargs):        super(MyForm,self).__init__(*args,**kwargs)        self.helper = FormHelper(self)

然后:

1)您可以将form.media添加到输出中,但这假设您的表单在您的上下文中被称为表单.

self.helper.layout.append(Layout(HTML("{{ form.media }}")))

2)你可以调用self.media.render() – 我认为这更好:

self.helper.layout.append(Layout(HTML(self.media.render())))

您也可以调用insert()而不是append.

总结

以上是内存溢出为你收集整理的使用带有松散表单的Django表单资源(媒体类)时,页面中未包含.js文件全部内容,希望文章能够帮你解决使用带有松散表单的Django表单资源(媒体类)时,页面中未包含.js文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1055037.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存