【问题标题】:Error using jQuery with django: Uncaught ReferenceError: jQuery is not defined将 jQuery 与 django 一起使用时出错:Uncaught ReferenceError: jQuery is not defined
【发布时间】:2019-02-01 00:29:51
【问题描述】:

我正在尝试将 jQuery 与我的 django 应用程序一起使用,但是当我使用检查器并查看 Sources 中的 .js 文件时,我看到了这个错误。我知道这个问题之前已经出现过,但我无法弄清楚如何在我的情况下解决它。这是我要加载的页面的 HTML:

{% extends 'great_songs_app/base.html' %}
{% load static %}


{% block content %}
<script src="{% static 'great_songs_app/playlist_jquery.js' %}"> 
</script>
--code--
{% endblock %

这是我的基本 HTML 文件:

{% load static %}
<html lang="en-US">
  <head>
  	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <link href="https://rsms.me/inter/inter-ui.css" rel="preload" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="{% static 'great_songs_app/style.css' %}">
  	<title>Great Songs</title>
  </head>
  <body>
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
      <a class="navbar-brand" href="{% url 'great_songs:great_songs' %}">Great Songs</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbar">
        <ul class="navbar-nav mr-auto">
          <li class="nav-item">
            <a class="nav-link" href="{% url 'great_songs:great_songs' %}">Songs</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="{% url 'great_songs:artists' %}">Artists</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="{% url 'great_songs:genres' %}">Genres</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="{% url 'great_songs:producers' %}">Producers</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="{% url 'great_songs:labels' %}">Labels</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="{% url 'great_songs:playlists' %}">Playlists</a>
          </li>
        </ul> 
        <ul class="navbar-nav" id="login-list">  
          {% if user.is_authenticated %}
            <li class="nav-item login">  
              <a class="nav-link" href="{% url 'users:logout' %}" id=login>log out</a>
            </li>  
          {% else %}
            <li class="nav-item login">  
              <a class="nav-link" href="{% url 'users:login' %}" id=login>log in</a>
            </li>
            <li class="nav-item login">  
              <a class="nav-link" href="{% url 'users:register' %}">register</a>
            </li>
          {% endif %}
        </ul>
      </div>
    </nav>

    <div class="container">
    {% block content %}
    {% endblock %}
    </div>
    <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  </body>
</html>

这是我的 jQuery 文件:

jQuery(document).ready(function($) {
    $(".playlist-row").click(function() {
        window.location = $(this).data("href");
    });
});

【问题讨论】:

  • jquery 脚本包含正确吗?
  • 你的意思是包括我的 .js 文件?
  • jquery 脚本本身
  • 编辑了我的问题以包含 js 文件
  • jQuery 需要在 您的脚本尝试使用它之前加载到文档中。尝试将您的 content 块移动到 &lt;script&gt; 标签下方

标签: javascript jquery html django-2.1


【解决方案1】:

我遇到了类似的问题,只是将js 文件粘贴到head 标记中。

这是我的base.html 然后在body 标签内,{% block content %}{% endblock %}

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 2020-05-24
    • 1970-01-01
    • 2017-02-18
    • 2018-08-27
    • 2018-08-03
    • 2019-07-24
    • 2017-01-17
    • 2019-01-04
    相关资源
    最近更新 更多