javascript - JQuery 与 Django 基础 .js 文件冲突
问题描述
我在 Django 中有一个基本模板,我在其中使用 app.js。这个 app.js 用于主题。
现在我想通过 ajax 弹出模态,为此我需要调用 Jquery 函数。弹出模式按钮所在的页面正在扩展 base.html。因此,当我尝试调用该页面时,我收到以下错误。
但是,当我不在我的页面上扩展 base.html 时,我没有收到任何错误并且能够拥有弹出模式。这是我页面的代码
新页面
{% extends 'base.html' %}
{% load static %}
{% include "devices/_modal.html" %}
{% block content %}
<div class="container mt-3">
<div class="row">
<div class="col-12 mb-3">
<button class="create-book btn btn-primary" type="button" name="button">
<span class="fa fa-plus mr-2"></span>Create book</button>
</div>
</div>
</div>
{% endblock %}
{% block extra_js %}
<script type="text/javascript" charset="utf8" src="{% static "user/js/jQuery-3.3.1.js"%}"></script>
<script type="text/javascript" src="{% static "user/js/bootstrap.min.js" %}"></script>
<script type="text/javascript" charset="utf8" src="{% static "user/js/jquery.bootstrap.modal.forms.min.js"%}"></script>
<script type="text/javascript">
$(function () {
$(".create-book").modalForm({formURL: "{% url 'addLocation' %}"});
});
</script>
{% endblock extra_js %}
我的 base.html 是
<!DOCTYPE html>
{% load user_tags %}
{% load static %}
<html lang="en">
<head>
{% block extra_head %}{% endblock %}
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="{% static "user/images/favicon.ico"%}" type="image/x-icon">
<title>Power Management</title>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="{% static 'user/css/app.css' %}">
<style>
.loader {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: #F5F8FA;
z-index: 9998;
text-align: center;
}
.plane-container {
position: absolute;
top: 50%;
left: 50%;
}
</style>
</head>
<body class="light">
{% block content %}
{% endblock %}
{% block grid %}
{% endblock %}
{% block scripts %}
<script src="{% static "user/js/app.js" %}"></script>
{% endblock %}
{% block extra_js %}
{% endblock extra_js %}
</body>
</html>
是否有任何解决方法。我怎样才能调用我的 Jquery?
解决方案
我个人没有使用过 Django,但我认为您可以使用 noConflict 函数来避免在 JQuery 调用中使用美元符号 ($)。
你可以像这样使用它:
JQuery.noConflict();
JQuery(document).ready(function() {
//Code
});
如果需要,您可以通过将变量分配给 JQuery.noConflict() 来使用自己的别名,例如:
var customJQueryCall = JQuery.noConflict();
customJQueryCall(document).ready(function() {
//Code
});
你也可以在他们的 API 中查看:
推荐阅读
- intellij-idea - 是否可以在插件工具窗口中更改字体?
- android - FusedLocationClient 为一些用户返回空值
- tensorflow - 了解Tensorflow对象检测API的改进版
- matlab - Matlab:如何连接结构数组的字段?
- gulp - 在 gulp-lesshint 中对 CSS 声明顺序进行排序
- python - 连接数据框中的列
- javascript - 为什么 Promise 在 Promise 完成之前执行 'then' 子句?
- spring - Spring 集成和 JPA 事务
- docker - Kitematic 将不允许 mysql 容器使用本地存储
- vba - Excel 插件自动化运行问题