2017-03-04 9 views
1

私はtemplatesフォルダにindex.htmlを持っています。 HTMLファイルのheadタグは<script src="scripts/main.js"></script>です。DjangoテンプレートをHTMLファイルに挿入することなく、DjangoテンプレートのHTMLファイルにCSS/JSをロードするにはどうすればよいですか?

templates/に端末を開いてpython manage.py runserverを実行すると、HTMLが正しく読み込まれます。しかし、次のような404エラーが発生します。GET /PATH/TO/scripts/main.js HTTP/1.1" 404 2446

index.html JSファイルが見つかりません。 index.htmlを編集せずに、HTMLファイルにJSファイルをロードさせるにはどうすればよいですか?あなたがstatic{% load static from staticfiles %}を使用する必要があります

答えて

1

、このような

{% load static from staticfiles %} 
<script src="{% static 'scripts/main.js' %}"></script> 

注:これは展開/生産サービスに示唆されていません。

REF:https://docs.djangoproject.com/en/1.10/howto/static-files/#serving-static-files-during-development

from django.conf import settings 
from django.conf.urls.static import static 

urlpatterns = [ ... ] 

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) # static 
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) # media file 

あなたが前urls.pyにそれらを追加するには、settings.pySTATIC_URLSTATIC_ROOTを設定する必要があります。

注:これはあなたがDjangoが静的なファイルを提供できるようにrunserver --insecureを実行する必要がsettings.py

DEBUG=Falseで動作します。

ですから、これで追加することができます。

<script src="/static/scripts/main.js"></script> 

/静的/ 'index.htmlを' を編集必要とするあなたのSTATIC_URL

+0

んで置き換えることができますか? – Username

+0

はい、あなたの 'index.html'にあります。 HTMLの1行目に '{%load static from staticfiles%}'を置き、 ''タグに ''を入れてください。 – Beomi

+0

「index.html」を編集することなく、私が必要とするものはどのように達成するのですか? – Username

関連する問題