2016-12-02 8 views
0

Windowsホスト内の仮想マシンゲストでDebianを実行しています。アダプタータイプにはBridgedを設定します。ゲストにDjangoをインストールし、ビルドインのrunserverとテスト用の組み込みデータベースを使用しています。Django:静的ファイルが見つかりません

持つ簡単なファイル構造:

> .. 
> templates 
> base.html 
> static 
> css 
>  base.css 
> manage.py 
> setting.py 
> .. 

ファイルsettings.py

STATIC_URL = '/static/' 

ファイルbase.html

{% load static %} 
... 
    <link rel="stylesheet" href="{% static 'css/base.css' %}"> 

取得エラーが、見つかりません:

GET http://192.168.XX.XX:8000/static/css/base.css 

Debugsettings.py)がtrueに設定されている(静的なファイルを処理する必要があることを意味します)。リンクが正しいように見えます。今、なぜこれは機能しませんか?

編集:私は 'collectstatic'を実行するのを忘れてしまったようです。

enter image description here

EDIT2:

EXTERNAL_APPS = [ 
    .. 
    'django.contrib.staticfiles', 
] 
PROJECT_NAME = 'fooproject' 
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
STATIC_ROOT = os.path.join(BASE_DIR, PROJECT_NAME, 'staticfiles') 
STATIC_URL = '/static/' 
+0

読み取りアクセス権がありますか? – Sayse

+0

@Sayseは 'static /'に664を追加しました。変化なし。 404を取得する(これは読み取りアクセスに関連する可能性があります)? – Oleg

+1

静的な設定はどのように見えますか? –

答えて

2

私はChristophBluossとDanielRosemanからの助けを借りて、私の問題を解決するために管理しているここではそれを実行した後に出力されます。 2つの問題がありました:

  1. 私は実行していませんpython manage.py collectstatic
  2. 設定に欠けている重要な設定 - STATIC_ROOTSTATICFILES_DIRS

settings.pyファイルにこれらの変数を追加し、collectstaticを正常に実行した後、すべて正常に機能しました。

P.S. Djangoのドキュメントをもっと慎重に読むべきです。 collectstaticが必須であることは私には明らかではありません。

EDIT: DanielRosemanはDEBUGTrueに設定されている場合STATIC_ROOTとともにcollectstaticは非必須で示唆したように。 staticfilesSTATIC_ROOTを削除しようとしましたが、それは私の開発環境ではまだ動作しています。だからSTATICFILES_DIRSが欠けていた。

+2

DEBUGで静的ファイルを提供しているときは、* collect * *は必要ありません。間違いなく、STATICFILES_DIRSが設定されていないという問題がありました。 –

+0

あなたは正しいです、私の答えを変更するつもりです。 – Oleg

+0

'STATIC_ROOT'を' STATICFILES_DIRS'で置き換えました。 –

関連する問題