如何在django admin中更新jquery版本

时间:2012-01-20 18:02:47

标签: django django-admin

如何在Django admin中更新jquery版本? 不在django / contrib / admin / media / js / admin / jquery.min.js中替换它 到最新的jquery.min.js。 另外,我不想在我的管理员中使用两个版本的jquery。

2 个答案:

答案 0 :(得分:8)

这是你唯一的两个选择。你改变实际的Django文件是个坏主意,所以唯一的另一个选择就是加载你自己的文件。

jQuery的Django版本已经命名为django.jQuery,因此您可以加载自己的jQuery版本,无论是否有jQuery.noConflict()

我理解你在同一页面上运行两个版本的jQuery的感觉,但这是管理员站点,而不是面向用户的网站。加载库两次的速度成本并不是很高,但它甚至只适用于使用管理员的用户(或者只是你自己)的句柄。

答案 1 :(得分:3)

我遇到了同样的问题,我发现实现它的方法很少。由于django管理员基础模板不直接包含jQuery JS(在模板中硬编码)并依赖于管理框架来提供它,我无法在模板中覆盖它。所以,其他可能的方法是 -

  1. 使用Django的新静态文件应用程序,您可以应用命令collectstatic来获取应用程序中的所有静态文件(包括django.contrib.admin)。您可以在此处手动覆盖内容。最好覆盖最新的jquery-min版本,因为django管理模板包含未压缩的jquery。

  2. 您可以在已部署的服务器上使用ReWrite规则始终将jquery.js指向其他URL,例如jquery.latest.min.js,其中保留最新缩小的jquery的单个副本。 我更喜欢这个选项。

  3. 这里定义了重写规则:

    1. Apache:http://httpd.apache.org/docs/current/mod/mod_rewrite.html
    2. Nginx:http://wiki.nginx.org/HttpRewriteModule