[英]Javascript doesn't work in django template
我有一个模板,该模板继承自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包含在内?
同样在base.html中,您有{%block js%} {%endblock%},但在第二个模板中,您有{%block js%} {%endblock js%}。
您尝试按如下所述从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'), ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.