2016-09-25 11 views
0

私が間違っていることを理解するのを助けてください。静的なdjangoファイルを取得する際に404エラーを受け取る

私は私のsettings.pyを持っている:

{% load static %} 
<link rel="stylesheet" type="text/css" href="{% static "/css/table.css" %}"> 

しかし、私はまだエラー404があります:

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__)) 
STATIC_URL = os.path.join(PROJECT_ROOT, 'static').replace('\\','')+'/' 

そしてindex.htmlの中

"GET /var/cardsite/cardsite/static/css/table.css HTTP/1.1" 404 1696 

を私はこれを持っていますファイル:

ls -la /var/cardsite/cardsite/static/css/table.css 
-rw-r--r-- 1 root root 77 Sep 25 16:15 /var/cardsite/cardsite/static/css/table.css 

何が起こっているのですか?

P.S.私のプロジェクトは、「は/ var/cardsite」に保存されていると私は、各アプリケーションの静的フォルダを作りたい、一例では、デフォルトのアプリケーション「cardsite」であるように

おかげ

+0

静的ファイルを使用する前に、コマンド 'collectstatic'を実行しましたか? –

+0

はい、それは助けになりませんでした – azazasovich

+0

私は答えを追加しました。 –

答えて

1

はあなたにもSTATIC_ROOTを持っている必要があります。このDjango_Docs
を読みますあなたはいくつかの助け はあなたのコードにこれを追加するHERESに、静的ファイルを使用する前に、設定オプション:

STATIC_URL = os.path.join(PROJECT_ROOT, 'static').replace('\\','')+'/' 

# Here you can add all the directories from where you want to use your js, css etc 
STATICFILES_DIRS = [ 
    # This can be same as the static url 
    os.path.join(PROJECT_ROOT, "static"), 

    # also any other dir you wanna use 
    "/any/other/static/path/you/wanna/use", 
] 

# This is the static root dir from where django uses the files from. 
STATIC_ROOT = os.path.join(PROJECT_ROOT, "static_root") 

あなたもちょうどに次のコードを追加し、urls.pyファイルで指定する必要があります。ファイル:あなたがこれを追加した後

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

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

、コマンドを実行します。

python manage.py collectstatic 

これは、静的ルートディレクトリに必要なすべての静的をコピーします。

+0

これは機能しています。お手伝いありがとう – azazasovich

関連する問題