使用Django创建的网站,但部署到heroku时图像未显示,但在localhost中显示

时间:2020-01-01 04:08:16

标签: python django image heroku deployment

图片来自管理员上传图片的表格:

First webpage

这些是我用于存储静态文件和媒体的设置:

build/reports

我创建的模型:

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'portfolio/static/')

 ]

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')

MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_URL = '/media/'
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'

在模板中,我有:

from django.db import models

# Create your models here.
class ProfileImage(models.Model):
    image = models.ImageField(upload_to='images/')

class Job(models.Model):
    image = models.ImageField(upload_to='images/')
    summary = models.CharField(max_length= 200)

class Project(models.Model):
    image = models.ImageField(upload_to='images/')
    summary = models.TextField()
    title = models.CharField(max_length=30)
    link = models.URLField(max_length=200, null=True, blank=True)

    def __str__(self):
        return(self.title)

class Social(models.Model):
    image = models.ImageField(upload_to='images/')
    title = models.CharField(max_length=30)
    link = models.URLField(max_length=200, null=True, blank=True)

    def __str__(self):
        return(self.title)

class Skills(models.Model):
    title = models.CharField(max_length=20)

    def __str__(self):
        return(self.title)

在我看来,

 <img src="{{profile_pic.image.url}}" height="600px" width="500x" class="img-fluid img-thumbnail"
            alt="Responsive image">
          <br>

当我部署到heroku时,它显示:

Second Webpage

1 个答案:

答案 0 :(得分:0)

您如何提供静态文件?您可以使用Whitenoise或其他服务(例如Google Cloud或AWS)在生产中提供静态文件。

这是Heroku在其开发中心上关于如何在生产中提供静态文件的内容。 Serve static files on heroku