如何在Django admin中更新jquery版本? 不在django / contrib / admin / media / js / admin / jquery.min.js中替换它 到最新的jquery.min.js。 另外,我不想在我的管理员中使用两个版本的jquery。
答案 0 :(得分:8)
这是你唯一的两个选择。你改变实际的Django文件是个坏主意,所以唯一的另一个选择就是加载你自己的文件。
jQuery的Django版本已经命名为django.jQuery
,因此您可以加载自己的jQuery版本,无论是否有jQuery.noConflict()
。
我理解你在同一页面上运行两个版本的jQuery的感觉,但这是管理员站点,而不是面向用户的网站。加载库两次的速度成本并不是很高,但它甚至只适用于使用管理员的用户(或者只是你自己)的句柄。
答案 1 :(得分:3)
我遇到了同样的问题,我发现实现它的方法很少。由于django管理员基础模板不直接包含jQuery JS(在模板中硬编码)并依赖于管理框架来提供它,我无法在模板中覆盖它。所以,其他可能的方法是 -
使用Django的新静态文件应用程序,您可以应用命令collectstatic
来获取应用程序中的所有静态文件(包括django.contrib.admin)。您可以在此处手动覆盖内容。最好覆盖最新的jquery-min版本,因为django管理模板包含未压缩的jquery。
您可以在已部署的服务器上使用ReWrite规则始终将jquery.js指向其他URL,例如jquery.latest.min.js,其中保留最新缩小的jquery的单个副本。 我更喜欢这个选项。
这里定义了重写规则: