Javascript не работает в шаблоне django

У меня есть шаблон, который наследуется от базового шаблона в javascript.

Вот базовый шаблон:

{% load static %}
<!DOCTYPE html>
<html lang = "en">

  <head>

    <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 = "">

    <title>{% block title %}{% endblock %}</title>

    {% include 'base/css.html' %}
    {% block head %}{% endblock %}

  </head>

  <body id = "page-top">

    {% include 'base/navbar.html' %}

    {% block content %}{% endblock %}

    {% include 'base/js.html' %}
    {% block js %}{% endblock %}

  </body>
</html>

Вот шаблон, в котором не работает javascript:

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

{% block head %}
<link href = "{% static 'css/card.css' %}" rel = "stylesheet"></link>
{% endblock %}

{% block content %}

<div class = "card-wrapper">
    {% for account in object_list %}
    <div id = "make-3D-space">
        <div id = "product-card">
            <div id = "product-front">
                <div class = "shadow"></div>
                <img src = "" alt = "" />
                <div class = "image_overlay"></div>
                <div id = "view_details"><a href = "{{ account.get_absolute_url }}">View details</a></div>
                <div class = "stats">         
                    <div class = "stats-container">
                        <span class = "product_price">{{ account.price }}</span>
                        <span class = "product_name">{{ account.get_arena_readable }}</span>    
                        <p>King level {{ account.king_tower }}</p>                                            

                        <div class = "product-options">
                            <strong>SIZES</strong>
                            <span>XS, S, M, L, XL, XXL</span>
                            <strong>COLORS</strong>
                            <div class = "colors">
                                <div class = "c-blue"><span></span></div>
                                <div class = "c-red"><span></span></div>
                                <div class = "c-white"><span></span></div>
                                <div class = "c-green"><span></span></div>
                            </div>
                        </div>                          
                    </div>
                </div>  
            </div>  
        </div>  
    </div>
    {% endfor %}
</div>

{% endblock %}

{% block js %}
<script src = "{% static 'js/card.js' %}"></script>
{% endblock js %}

CSS загружается нормально, а javascript - нет. Я поместил тег javascript в правильный блок, поэтому содержимое файла должно загружаться при запуске локального сервера разработки. Почему не включается ни один из javascript?

Кажется, он включен, поскольку присутствует card.js. Javascript не работает в шаблоне django

можешь добавить свои настройки? где вы настраиваете свой статический путь

Lemayzeur 20.05.2018 16:36
STATIC_URL = '/static/'STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static_local'), ]STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn', 'static_root')MEDIA_URL = '/media/'MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn', 'media_root')
Tom Finet 20.05.2018 19:32
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
528
2

Ответы 2

Также в вашем base.html есть {% block js%} {% endblock%}, но во втором шаблоне у вас есть {% block js%} {% endblock js%}.

src не имеет ничего общего с card.js, это отдельный каталог

Lemayzeur 20.05.2018 16:35

Вы пытаетесь получить доступ к статическим файлам из каталога static, как описано здесь:

<script src = "{% static 'js/card.js' %}"></script>

В то время как в ваших настройках вы назвали статический каталог static_local

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_local'),
]

Итак, исходя из этого изображения:

Имя вашего статического каталога - static.
. Итак, в вашем settings.STATICFILES_DIRS замените static_local на static, как показано ниже:

STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]

Но если бы это была проблема, разве CSS не загрузился бы? поскольку он находится в том же статическом каталоге, но это так.

Tom Finet 21.05.2018 10:28

Можете ли вы взглянуть на свою консоль, чтобы узнать, хорошо ли django находит статические файлы

Lemayzeur 21.05.2018 19:30

Другие вопросы по теме