2017-06-06 16 views
1

画像がDjangoに表示されない理由はわかりません。メディアルートとは何か? django.core.urlresolversから画像がDjangoに表示されない

設定コード

STATIC_URL = '/static/' 
MEDIA_URL = '/media/' 
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')' 

モデルコード

from django.db import models 

は逆

ここにあなたのモデルを作成してインポートします。

クラス・ポスト(models.Model):

## Post Properties 
title = models.CharField(max_length=255) 
slug = models.SlugField(max_length=255, unique=True) 
summary = models.CharField(max_length=255) 
content = models.TextField() 
published = models.BooleanField(default=True) 
created = models.DateTimeField(auto_now_add=True) 
image = models.ImageField(upload_to='img',default='media/placeholder.png') 


class Meta: 
    ordering = ['-created'] 

    def __unicode__(self): 
     return u'%s'% self.title 

def get_absolute_url(self): 
     return reverse('blog.views.post', args=[self.slug]) 

それが問題になる可能性がある私は、画像のURLを追加しませんでしたか?

URLのウェブサイトで

urlpatterns = [ 
url(r'^post/(.*)', blogViews.post), 
url(r'^about/$', blogViews.about), 
url(r'^$', blogViews.index), 
url(r'^admin/', admin.site.urls), 

のindex.htmlコード

<img src="{{post.image}}"> 
<p> {{post.image}} </p> 

** Views.py **

from django.shortcuts import render, render_to_response, get_object_or_404 
from django.http import HttpResponse 
from .models import Post 

# Create your views here. 


def index(request): 
    posts = Post.objects.all() 
    return render(request, 'index.html', {'posts': posts}) 



def post(request, slug): 
    return render_to_response('post.html', { 
    'post': get_object_or_404(Post,slug=slug) 
    }) 

def about(request): 
    return render(request, 'about.html', {}) 

ことが示してすべてが空白になっています画像とファイル名(eデフォルトまたはIMG /あるither「placeholder.png」...私は管理者によってアップロードされた)

編集:これは、重複としてマークされていた

、私はその記事を見て、私を変更しようとしましたそのコードを反映させるためのコードは動作していませんでした。自分自身を投稿する方が良いと思った。

ありがとうございます、このサイトの最初の質問!

+2

'' –

+0

、静的なサービス提供についての詳細を学ぶためにあなたのurls.py

from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # ... the rest of your URLconf goes here ... ] urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

に追加し、また

<img src="{{post.image.url}}"> 

、これを試してみてください、あなたはメディアを追加しましたメインurls.pyのURL? – Cadmus

+0

実際にメディアファイルを提供するために何かを定義しましたか? –

答えて

0

のドキュメントを参照してくださいhere...

+0

同じエラー(r '^ media /(?P 。*)$'、 'django.views.static.serve'、{ 'document_root':settings.MEDIA_ROOT}私はurls.pyファイルに何も追加しなかった。これはこれに影響を及ぼしますか? –

+0

何が起こったのか分かりません。デフォルトの画像はすべて表示されましたが、手動でアップロードした画像は表示されませんでした。 –

+0

このテンプレートのビューを表示できますか? – zaidfazil

関連する問題