模板中 Django 表单的媒体类对象的 JS 和 CSS 列表输出分离

Posted

技术标签:

【中文标题】模板中 Django 表单的媒体类对象的 JS 和 CSS 列表输出分离【英文标题】:Separate JS and CSS list output of media class object for Django form in template 【发布时间】:2013-12-29 06:32:57 【问题描述】:

我在这里有一个简单的问题。我知道如何使用 django 媒体来放置媒体类中指定的 js 和 css 文件,如下所示:

在 forms.py 中用于模型

from django import forms

class CalendarWidget(forms.TextInput):
    class Media:
        css = 
            'all': ('pretty.css',)
        
        js = ('animations.js', 'actions.js')

在模板文件中

 form.media 

但是我想把 JS 和 CSS 分开。这意味着我想将 CSS 放在 head 部分,将 JS 放在 body 标记之前。那么我如何使用内置标签来实现它呢?可能吗?

P.S. 我无法从 django 文档中找到信息。 (也许,我看错了地方)。所以给我一个提示。

【问题讨论】:

【参考方案1】:

您可以分别使用form.media.cssform.media.js将它们放在需要的位置。

参考文档subsets-of-assets。

【讨论】:

以上是关于模板中 Django 表单的媒体类对象的 JS 和 CSS 列表输出分离的主要内容,如果未能解决你的问题,请参考以下文章

将 Django 表单资产(媒体类)与清晰表单一起使用时,页面中不包含 .js 文件

Django:在基于类的视图中包含媒体(css/js)

不要从 django 表单打印媒体

如何将引导类添加到模板中的 Django CreateView 表单字段?

Django:在模板中呈现表单字段时添加 CSS 类

Django 在一个模板中使用两个 FilterView 类