デバッグがオフのときにDjangoが静的ファイルを正しく参照することができません。私はこのことについてこのサイトに他の多くの記事があることを知っていますが、誰も私の問題を修正していません。私settings.py
でDjangoの静的ファイルが見つかりません(デバッグオフ)
└── project
└── app1
└── app1
├── manage.py
└── project
└── project.sock
└── projectenv
└── static
└── template
私は、次があります:
私のディレクトリツリーは次のようである私のnginxの設定ファイルでは
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
私は、次のしている:
location /static {
autoindex on;
alias /home/user/myproject/static/;
}
./manage.py collectstatic
を実行すると、すべてのファイルが静的ディレクトリに正しく配置されます。
しかし、私のサーバーを実行している中、これらの静的ファイル404のすべて:静的ファイルは私のmanage.pyファイルと同じディレクトリに配置された
[22/Jul/2016 17:05:31] "GET /static/lib/bootstrap/js/bootstrap.min.js HTTP/1.1" 404 6418
[22/Jul/2016 17:05:31] "GET /static/lib/bootstrap/css/bootstrap.min.css HTTP/1.1" 404 6418
[22/Jul/2016 17:05:31] "GET /static/lib/jquery/jquery.min.js HTTP/1.1" 404 6418
[22/Jul/2016 17:05:31] "GET /static/lib/bootstrap/js/bootstrap.min.js HTTP/1.1" 404 6418
。私は間違って何をしていますか?
これを私のurls.pyに追加すると動作しますが、代わりにnginxから直接提供するはずですか?
if settings.DEBUG is False: #if DEBUG is True it will be served automatically
urlpatterns += patterns('',
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
)
静的ファイルのレンダリングは、ジャンゴを通過するので、それはあなたがあなたのnginxを設定する必要があり、直接
プロジェクトのディレクトリ構造をここに挙げることができますか? –
アプリケーションの静的ファイルが提供されていますか?あなたは 'static'ディレクトリのパーミッションもチェックできますか? –
私はnginxについてはわかりませんが、それはApacheに奉仕するのに必要なものと比較して非常に少ないコーディングのようです。ここのApacheの例を見てください。https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/modwsgi/#serving-files – HenryM