2016-05-09 15 views
0

イメージフィールドの公式djangoドキュメントに従っています。イメージをデータベースに保存できますが、ブラウザで表示しようとすると404エラーが表示されます。イメージdjangoに404エラーが表示されない

私の設定ファイル、

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(BASE_DIR,"templates")], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
       'django.template.context_processors.media', 
       'django.core.context_processors.static', 
      ], 
     }, 
    }, 
] 

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
STATIC_URL = '/static/' 
STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static")] 
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),"static") 
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR),"media") 
MEDIA_URL = '/media/' 

マイmodels.pyファイル、

class Add_prod(models.Model): 
    book = models.CharField("Book Name",max_length=40) 
    image = models.ImageField(upload_to='static/images',null=True) 

私のviews.pyファイル、

def add_prod(request): 
    form = ProdForm(request.POST or None,request.FILES or None) 
    my_products = Add_prod.objects.all() 
    context = { 
      "form":form, 
      "products":my_products 
    } 
    if form.is_valid(): 
     instance = form.save(commit=False) 
     book = form.cleaned_data.get("book") 
     image = form.cleaned_data.get("image") 
     instance.book = book 
     instance.image = image 
     instance.save() 
    return render(request,"add-prod.html",context) 

私urls.pyファイルの小部分、

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

if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_URL) 
    urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_URL) 

私のテンプレートファイルのごく一部、

{% for i in products %} 
      <tr> 
       <td>{{i.book}}</td> 
       <td><img src="{{ MEDIA_URL }}{{i.image.url}}" alt="No Image"></td> 
      </tr> 
{% endfor %} 

これは、Eclipseコンソールでエラーで、

urls.py
Not Found: /media//media/static/images/644.jpg 
"GET /media//media/static/images/644.jpg HTTP/1.1" 404 1800 
+0

「/メディア」倍増する。それはしないでください。 '{{i.image.url}}'にはまだ{{MEDIA_URL}}は含まれていませんか? – spectras

+1

'src'に' {{MEDIA_URL}} 'は必要ありません。これは、生成されたパスに '/ media /'を複製しています。それを取り除くとうまくいくはずです。 – solarissmoke

+0

このエラーが発生しました。見つかりませんでした:/media/static/images/644.jpg – Bhanukiran

答えて

1

、私はそれをしなければなら気付いています:

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

static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

関連する問題