我正在尝试添加一个自定义的javascript文件到一个Django管理模型页面。我在ModelAdmin中使用了一个媒体类,但该文件是在head部分加载的。我需要在文件的末尾。有人知道怎么做吗?
谢谢大家!
class Media:
js = (
'js/jquery.mask.min.js',
'js/mask.js',
)
这些脚本的目的是让掩码适用于表单中的某些字段。
发布于 2019-09-04 20:53:04
您可以扩展管理部分的模板文件,并将其直接放入其中。请参阅https://docs.djangoproject.com/en/2.2/ref/contrib/admin/#overriding-admin-templates
我已经在我自己的一些项目中做到了这一点。例如,在templates文件夹中,您可以:
/templates/admin/base_site.html
在该文件中,您可以进行任意更改(与常规Django模板相同)。在您的例子中,可能是这样的:
{% extends 'admin/base_site.html' %}
{% load static %}
{% block footer %}
<div id="footer"></div>
<script src="whatever/source/jquery.js" />
<script src="whatever/source/mask.js" />
{% endblock %}
希望这能有所帮助!
发布于 2019-09-04 20:59:21
在javascript代码中,您应该强制代码在页面加载之后运行。例如,在jQuery中:
$(function(){
/* this code runs after page load */
});
发布于 2020-11-25 03:18:59
使用window.addEventListener
window.addEventListener('load', function() {
(function ($) {
// Code
})(django.jQuery);
});
另一种方式:
window.onload = function () {
if (typeof (django) !== 'undefined' && typeof (django.jQuery) !== 'undefined') {
(function ($) {
// Code
}(django.jQuery));
}
};
https://stackoverflow.com/questions/57788592
复制相似问题