2016-07-20 25 views
0

私のプロジェクトに「静的ファイル」に関するいくつかの問題があります 画像をロードするだけです。 は、ここに私のコードです:Django - 静的ファイルで画像を表示

from django.shortcuts import render 
from django.http import HttpResponse 
from django.template import loader 

# Create your views here. 

def D3(request): 
     template = loader.get_template('appli1/D3.html') 
     context = {} 
     return HttpResponse(template.render(context, request)) 

urls.py

from django.conf.urls import url 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
  
from . import views 
  
urlpatterns = [ 
    url(r'^D3$', views.D3, name='D3'), 
] 

D3.html

views.py

<!DOCTYPE html> 
<html> 
<head> 
</head> 
<body> 
    {% load staticfiles %} 
    <img src="{% static "appli1/testimg.png" %}" alt="My image"/> 
</body> 
</html> 

settings.py

STATIC_URL = '/static/' 

/あなたの助けを

おかげ画像testimg.pngは/ appli1]を/静的/ appli1]をに

され、ファイルD3.htmlはappli1]を/テンプレート/ appli1]をしています!

編集: 私のプロジェクトの構造は良く見えますが、多分私は間違っています。

上記 "{%静的" で技術的には、なります
<img src="{% static "appli1/testimg.png" %}" alt="My image"/> 

で引用符を確認してください)

1:あなたのコードでは、次の問題があります

test_django/ 
    manage.py 
    db.sqlite3 
    test_django/ 
     __init__.py 
     settings.py 
     urls.py 
     wsgi.py 
     __pycache__/ 
      ... 
    appli1/ 
     __init__.py 
     admin.py 
     apps.py 
     models.py 
     tests.py 
     urls.py 
     views.py 
     __pycache__/ 
      ... 
     migrations/ 
      ... 
     static/ 
      appli1/ 
       testimg.png 
     templates/ 
      appli1/ 
       D3.html 
+0

私はここで答えを試してみてください:http://stackoverflow.com/questions/29957604/django-1-8-static-files-doesnt-work/29957796#29957796 – jape

+0

nopは動作しません...助けを求めるThx! –

+0

'{%load staticfiles%}'をHTMLの上に置きますか?代わりに、これを使用してください: 'My image '。画像ファイルのスペルは正しいですか(大文字と小文字は区別されますか? – jape

答えて

1

:ここでは、それは次のようになります1つの値として読み取られ、次に "%}"が他として、そして最後に "My image"が別の値として読み取られます。

<img src="{% static 'appli1/testimg.png' %}" alt="My image"/> 

この方法でのHTMLがそれを読んで "{静的% 'appli1]を/ testimg.png' %}" 全体がその内側にあるとして「appli1]を/ testimg:

後、それを行うための正しい方法はあります。 png '

2)あなたのディレクトリ構造、したがってルートディレクトリがわからないため、これは別の問題かもしれません。

「appli1/static/appli1」で「静的」がルートディレクトリと同じレベルにある場合は、正常に動作しますが、あなたのテンプレートも「appli1/templates/appli1/'とテンプレートがロードされています。したがって、「静的」が根のレベルにあることを証明します。

それ以外の場合、さらにはテンプレートがロードされていない場合(あなたのテンプレートがロードされていると仮定しているだけです)、ルートの 'static'テンプレートと 'templates'フォルダは同じレベルではありませんルートディレクトリであり、htmlファイルと静的ファイルは、あなたのhtmlで指定しているURLによって発見されていません。

+0

ルートディレクトリを確認しましたか? –

+0

あなたの答えをありがとう。不幸にも私はすでにこれらの引用符で試してみましたが、うまくいきません。 最初の投稿を編集して、自分のプロジェクトの構造を表示しました。 「ルートディレクトリを確認する」とはどういう意味ですか? –

+0

私はあなたのディレクトリ構造を編集した記事を見ました。そして、私の答えで述べたように、問題はルートディレクトリにあります。私はあなたを説明しましょう。 –

関連する問題