2017-06-06 111 views
1

我不知道为什么图像不显示在Django。与媒体根有关?图像不显示在Django

设置代码

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

机型代码

from django.db import models 

从django.core.urlresolvers导入反向

这里创建您的模型。

类岗位(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,图片,那会是一个问题吗?

网址

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', {}) 

在网站上的所有显示是空白图片以及文件名称(例如, ither“placeholder.png”这是默认或IMG/......我通过管理)

编辑上传:

这被标记为重复,我看到后,试图改变我代码来反映该代码,但它不起作用。想象一下发布我自己的会更好。

在此先感谢,本网站的第一个问题!

+2

'' –

+0

做自己添加的媒体主urls.py中的网址? – Cadmus

+0

您是否定义了任何要实际提供媒体文件的内容? –

回答

0

试试这个,

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

此外,添加在你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) 

学习更多关于充当静态,参考文档here...

+0

同样的错误,我没有在urls.py文件中添加任何内容。这会影响到这一点吗? –

+0

不知道发生了什么事。它显示了所有的默认图片,但不是我手动上传的图片。 –

+0

你可以展示你对这个模板的看法吗? – zaidfazil