【发布时间】:2015-07-30 13:18:29
【问题描述】:
我正在启动一个项目并遵循文档,但未能成功包含 javascript。
这是我的设置:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_ROOT = '/static/'
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
所以我在我的项目中创建了一个带有 javascript 文件的静态文件夹。
myproject/static/app.js
我的 urls.py:
urlpatterns = [
url(r'^$', 'app.views.home'),
url(r'^admin/', include(admin.site.urls)),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
在我的模板中: 这是我的项目/模板/base.html:
<!DOCTYPE html>
<head>
{% load static %}
<script src="{% static 'app.js' %}"></script>
<title>Site</title>
</head>
<body>
<img src="{% static 'img.png' %}" alt="Mon image" />
{% block content %}{% endblock %}
</body>
</html>
我的另一个模板:
{% block content %}
hello world
{% endblock %}
我有“hello world”
但我没有我的图像或脚本。
我尝试了很多不同的东西,但我从未成功
【问题讨论】:
-
在使用“静态”标签之前,请尝试使用完整的 url 获取文件(例如 /static/myproject/img.png)。这样你就可以通过 Django 找出你的文件所在的位置(有时会有点棘手)。
-
Django 文档提供了如何包含静态文件的指南,例如 JS docs.djangoproject.com/en/3.2/howto/static-files
标签: javascript python django static include