2017-01-05 11 views
0

をロードしない静的ファイルのサービング:Djangoは以下の設定で新しいDjangoアプリケーションの設定

import os 
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 

DEBUG = True 

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
) 

STATIC_URL = '/static/' 

MEDIA_URL = '/media/' 

MEDIA_ROOT = os.path.join(BASE_DIR, 'kb/media') 
STATIC_ROOT = os.path.join(BASE_DIR, 'kb/static/') 

セットアップを、私はそれがになっていますかの設定に問題があると仮定したテンプレート

{% load staticfiles %} 
<!DOCTYPE html> 
<html> 
<head> 
    <title>HomePage</title> 
</head> 
<body> 
    <img src="{% static 'img/girl.png' %}"> 
    <img src="/media/boy-512.png"> 
</body> 
</html> 

静的ファイルを取得します。この場合、静止画像girl.png用のディレクトリは、私はあなたを助けることができる場合kb\kb\static\img\girl.png

+0

支援するHopfully

<img src="{% static 'images/test.png' %}" /> 

は、アプリのこれらの静的ファイルの部分はありますか?あなたのプロジェクトのどのフォルダにないの?これは生産や開発にあるのでしょうか? –

答えて

1

が、これは私のsettings.pyファイルと私のHTMLテンプレート内の1つの例である:

私はプロジェクトがありますMyProjectとをし、 1つのアプリケーション:MY_PROJECT(私は、静的な文書を持っているの内側>画像ドキュメント> test.pngファイル)

settings.pyはファイルには、次のようになります。

STATIC_URL = '/static/' 
STATICFILES_DIRS = (os.path.join(BASE_DIR, "my_project/static"),) 

と画像との私のHTMLテンプレートファイルは次のようになります。あなた

+0

ありがとうございました。 'STATICFILES_DIRS' –

+0

@Valentin静的ファイルがアプリの一部である場合、' STATICFILES_DIRS'を使う必要はありません。それらが '/ appname/static/appname /'にある場合、それらは自動的に取得されます。 'STATICFILES_DIRS'は、自動的にピックアップされないディレクトリ内の静的ファイルに対してのみです。 –

+0

@ voodoo-burgerはい、初めてです。私の静的な文書は私のDjangoアプリケーションの中にはありません^^私はパスを変更しましたが、私はそれを変更する必要があります;) – Deadpool