Django 2.2 img未加载

我实际上是django的新手,我在加载图像时发现问题,我像docs所述进行了设置,并将图像保存到正确的文件夹中。只是加载部分无法按我的意愿工作。

# 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 %}

上传正常。将所有图像保存到媒体文件夹(在应用程序级别上) 因此:media / gallery / name.jpg。 运行服务器不会显示图像,但是源似乎很好: http://127.0.0.1:8000/media/gallery/gto.jpg

调试时在本地提供文件似乎存在问题,但是我只能找到较旧的django版本。 Iam使用Django --version 2.2。

我很感谢您的帮助

liuqinjian 回答:Django 2.2 img未加载

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)
本文链接:https://www.f2er.com/3107747.html

大家都在问