Django 管理模板中多个版本的 jQuery

发布于 2024-10-12 13:15:33 字数 463 浏览 3 评论 0原文

在不指定任何内容的情况下,Django 1.2.4 管理模板包含 jQuery 1.4.2。我刚刚下载了 1.4.4 附带的 jQuery UI 框架。因此,我想使用 1.4.4 的 UI 框架。但是,我不确定如何将其从 Django 管理模板中删除。在这种情况下我该怎么办?

class FooAdmin(admin.ModelAdmin):

    class Media:
        # this will cause both jQuery 1.4.2 and 1.4.4 to be included. Not sure if that's a problem or not.
        js = ("js/foo.js", "js/lib/jquery-1.4.4.min.js", "js/lib/jquery-ui-1.8.8.custom.min.js")

admin.site.register(Foo, FooAdmin)

Without specifying anything, the Django 1.2.4 admin templates include jQuery 1.4.2. I just downloaded the jQuery UI framework, which came with 1.4.4. Thus, I would like to use the UI framework with 1.4.4. However, I'm not sure how to remove it from the Django admin templates. What am I supposed to do in this situation?

class FooAdmin(admin.ModelAdmin):

    class Media:
        # this will cause both jQuery 1.4.2 and 1.4.4 to be included. Not sure if that's a problem or not.
        js = ("js/foo.js", "js/lib/jquery-1.4.4.min.js", "js/lib/jquery-ui-1.8.8.custom.min.js")

admin.site.register(Foo, FooAdmin)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

°如果伤别离去 2024-10-19 13:15:33

您可以从 ModelAdmin 覆盖 _media 属性

这是 _media 形式的实际 django 代码。

class FooAdmin(admin.ModelAdmin):
    def _media(self):
        from django.conf import settings

        js = ['js/core.js', 'js/admin/RelatedObjectLookups.js',
              'js/jquery.min.js', 'js/jquery.init.js']
        if self.actions is not None:
            js.extend(['js/actions.min.js'])
        if self.prepopulated_fields:
            js.append('js/urlify.js')
            js.append('js/prepopulate.min.js')
        if self.opts.get_ordered_objects():
            js.extend(['js/getElementsBySelector.js', 'js/dom-drag.js' , 'js/admin/ordering.js'])

        return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js]) 
    media = property(_media)

但也许有更好的解决方案

You can override _media property from ModelAdmin

Here is _media form actual django code.

class FooAdmin(admin.ModelAdmin):
    def _media(self):
        from django.conf import settings

        js = ['js/core.js', 'js/admin/RelatedObjectLookups.js',
              'js/jquery.min.js', 'js/jquery.init.js']
        if self.actions is not None:
            js.extend(['js/actions.min.js'])
        if self.prepopulated_fields:
            js.append('js/urlify.js')
            js.append('js/prepopulate.min.js')
        if self.opts.get_ordered_objects():
            js.extend(['js/getElementsBySelector.js', 'js/dom-drag.js' , 'js/admin/ordering.js'])

        return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js]) 
    media = property(_media)

But maybe there is a better solution

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文