2016-07-22 12 views
1

デバッグがオフのときにDjangoが静的ファイルを正しく参照することができません。私はこのことについてこのサイトに他の多くの記事があることを知っていますが、誰も私の問題を修正していません。私settings.pyDjangoの静的ファイルが見つかりません(デバッグオフ)

└── 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を設定する必要があり、直接

+0

プロジェクトのディレクトリ構造をここに挙げることができますか? –

+0

アプリケーションの静的ファイルが提供されていますか?あなたは 'static'ディレクトリのパーミッションもチェックできますか? –

+0

私はnginxについてはわかりませんが、それはApacheに奉仕するのに必要なものと比較して非常に少ないコーディングのようです。ここのApacheの例を見てください。https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/modwsgi/#serving-files – HenryM

答えて

0

代わりにWebサーバーによって提供 遅くなります。これを追加します:

次のようnginx.conf編集
location ~* ^(/static/|/media/).+.(jpg|jpeg|gif|png|zip|eot|woff|woff2|svg|ttf|tgz|gz|rar|bz2|doc|xls|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf)$ { 
    root /path/to/parent/folder/of/static/folder; 
} 

server {あなたのウェブサイトに対応する句は、nginxを再起動すると、あなたのプロを修正するはずですnginxのログをチェックして、nginxのユーザ/グループなどに適切な権限があることを確認してください。

+0

この正規表現は現在の設定とどう違うのですか? URLが静的に私のディレクトリに向かうべきではないのですか? – modesitt

関連する問題