Py学习  »  问与答

django无法显示已上传的图片,图片保存在网站根目录下media/photos/下

eddie • 9 年前 • 8309 次点击  

直接上代码吧,我的setting.py中有关文件的代码如下:

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

我的网站首页html里面用到了存在/static/下的图片,可以正常显示,如下:

<img src='/static/fengmian.jpg'>

我在studio这个APP的models.py代码如下:

from django.db import models
from django.contrib import admin
class Photo(models.Model):
    title = models.CharField(max_length=50)
    image = models.ImageField(upload_to='photos')
    description = models.TextField(blank=True)
    class Meta:
        ordering = ('title',)
    def __unicode__(self):
        return self.title
    @models.permalink
    def get_absolute_url(self):
        return 'photo_detail', None, {'object_id': self.id}
admin.site.register(Photo)

但是在另一个html中,想要显示存在/media/photos/下的图片,就无法显示了,代码如下:

<img src='/media/photos/aaa.jpg'>

上面发的代码,拼写都对,应该不会笔误。请各位大神帮忙给看看,搞了两个晚上了,都没有搞出来T。T谢谢各位!!!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1355
 
8309 次点击  
文章 [ 3 ]  |  最新文章 9 年前
shuyeyaojing
Reply   •   1 楼
shuyeyaojing    6 年前

兄弟,解决了没啊,我也遇上这个问题了,仔细看前端的url,发现它吧/index/加到路径里面去了,怎么去掉啊

eddie
Reply   •   2 楼
eddie    9 年前

@三十撸啊撸 太感谢了,尽管我昨晚已经找到了这个方法。为什么网上很难找到这个答案,我是看了Django1.8的Documentation才发现的,难道版本不同,差异会很大么?

三十撸啊撸
Reply   •   3 楼
三十撸啊撸    9 年前

在你的project的urls.py里加入

urlpatterns = [

# ... the rest of your URLconf goes here ...

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

eddie
Reply   •   4 楼
eddie    9 年前

我尝试在html中打印出它的路径,如下:

{{ photo.image.url }}

在网页中也显示出: /media/photos/aaa.jpg 这正是我所要显示图片的路径,但就是没法显示图片,求解!!