python - Django 2.2 img 未加载

标签 python django image file

我实际上是 django 的新手,我在加载图像时发现了一个问题,我按照文档中的说明进行了设置,并将图像保存到正确的文件夹中。只是加载部分无法正常工作。

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

# the Model
class Legend(models.Model):
        name = models.CharField(max_length=100)
        description = models.CharField(max_length=300)
        creator = models.ForeignKey(User, on_delete=models.CASCADE)
        created = models.DateTimeField(auto_now=True)
        published = models.DateTimeField(null=True, blank=True)
        available = models.BooleanField(default=False)
        image = models.ImageField(upload_to='gallery', blank=True, null=True)

# the template where i use the img field
{% for instance in object_list %}
    <img style="width: 245px; height: 247px;" src="{{ instance.image.url }}" alt="legend image"">    
{% endfor %}

上传按预期进行。将所有图像保存到媒体文件夹(在 applevel 上) 所以:media/gallery/name.jpg。 运行服务器不显示图像,但来源似乎很好: http://127.0.0.1:8000/media/gallery/gto.jpg

调试时在本地提供文件似乎有问题,但我能找到的都是旧的 django 版本。我正在使用 django --version 2.2。

我很感激任何帮助

最佳答案

当您在 DEBUG = True 下运行 django 时,您还应该添加媒体 url:

将此添加到主 urls.py 的末尾:

from django.conf import settings
from django.conf.urls.static import static

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    # and this one to serve static files:
    #urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

关于python - Django 2.2 img 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58843143/

相关文章:

python - 将字符串拆分为非空白和空白列表

python - Celerybeat 计划多次执行任务?

django - 如何更新文件字段中的文件位置?

python - Django 使用自定义 SQL 而不是模型将 JSON 对象返回到模板

Python 类@property : use setter but evade getter?

python 值与引用

python asyncore 在客户端连接后使用 100% CPU

html - 多张背景图片,渐变和图片,匹配图片比例

c# - 难以将图像保存到 MemoryStream

image - Netbeans 中的 J2ME(gif 图像问题)