私はプロジェクトを始めて、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)
そして私のテンプレートで:これはmyproject/templates/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 %}
「ハローワールド」があります
しかし、私は自分の画像やスクリプトを持っていません。
いろいろなことを試しましたが、成功することはありません
rls.py
from Django.conf.urls import include, url
from Django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
]
settings.py
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_URL = '/static/'
# remove 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>
テンプレートは_{% load staticfiles %}
_の代わりに_{% load static %}
_と言う必要があります
ソース: https://docs.djangoproject.com/en/1.8/howto/static-files/
また、os.path.join(BASE_DIR, "static"),
は、_app/static/app/static.js
_のように、アプリ内の静的ファイルのみを検索します。特定のアプリではなくプロジェクトに属する静的ファイルがある場合は、フォルダーを明示的に追加する必要があります。私が言及したドキュメントページの「静的ファイルの設定」のポイント4を参照してください。