Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Django创建网站,但在部署到heroku时图像不会显示,而是在localhost中显示_Python_Django_Image_Heroku_Deployment - Fatal编程技术网

Python 使用Django创建网站,但在部署到heroku时图像不会显示,而是在localhost中显示

Python 使用Django创建网站,但在部署到heroku时图像不会显示,而是在localhost中显示,python,django,image,heroku,deployment,Python,Django,Image,Heroku,Deployment,图像来自管理员上载图像的表格: 以下是我存储静态文件和媒体的设置: 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/' STAT

图像来自管理员上载图像的表格:

以下是我存储静态文件和媒体的设置:

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时,它显示:


您如何为静态文件提供服务?您可以使用该服务或其他服务,如google cloud或aws,在生产环境中为静态文件提供服务


以下是Heroku在他们的开发中心上关于如何在生产中服务静态文件的内容

您如何为静态文件提供服务?您可以使用该服务或其他服务,如google cloud或aws,在生产环境中为静态文件提供服务


以下是Heroku在他们的开发中心上关于如何在生产中服务静态文件的内容

我刚开始部署到heroku can,对whitenoise了解不多。你能解释一下我如何使用白噪音吗?谢谢,这样做其实很简单!Heroku有一个关于如何在生产中配置Heroku上的whitenoise的步骤,所以我会尝试如下:看看你是否能实现你的目标。实际上,我正在从管理面板上传图像,“/app/media/images/flask.jpg”不存在。当我点击管理面板内的图像时,会显示这一点。我搜索了答案,发现图像应该存储在S3服务器中。S3是否有不需要任何信用卡详细信息的替代方案?我也知道这一点。您必须将它们保存在s3中,然后才能在生产中使用它们。您知道,我仍在学习如何真正理解生产中使用的整个静态文件。恐怕我不能为您指出任何其他不需要信用卡信息的方向。看看数字海洋或谷歌云!祝你好运如果您找到任何方法来完成它,请让我知道。我是新部署到heroku can的,对whitenoise不太了解。你能解释一下我如何使用白噪音吗?谢谢,这样做其实很简单!Heroku有一个关于如何在生产中配置Heroku上的whitenoise的步骤,所以我会尝试如下:看看你是否能实现你的目标。实际上,我正在从管理面板上传图像,“/app/media/images/flask.jpg”不存在。当我点击管理面板内的图像时,会显示这一点。我搜索了答案,发现图像应该存储在S3服务器中。S3是否有不需要任何信用卡详细信息的替代方案?我也知道这一点。您必须将它们保存在s3中,然后才能在生产中使用它们。您知道,我仍在学习如何真正理解生产中使用的整个静态文件。恐怕我不能为您指出任何其他不需要信用卡信息的方向。看看数字海洋或谷歌云!祝你好运如果你想办法把它做完,请告诉我。
from django.shortcuts import render
from .models import Job, Skills, Project, Social, ProfileImage

# Create your views here.
def home(request):
    jobs = Job.objects.all()
    skills = Skills.objects.all()
    projects = Project.objects.all()
    socials = Social.objects.all()
    profile_pic = ProfileImage.objects.all().first()
    context = {'jobs':jobs, 'skills':skills, 'projects':projects, 'socials':socials, 'profile_pic':profile_pic}
    return render(request, 'jobs/home.html', context)