固定 这是我的解决方案,在主要程序urls.py我不得不添加这些行。Django静态图像文件无法加载资源
从django.conf.urls.static进口静态URL模式+ =静态(settings.MEDIA_URL,DOCUMENT_ROOT = settings.MEDIA_ROOT)
我有一个名为模型项目django.conf导入设置
在那里我有一个形象领域。我向数据库添加了一个带有图像的新项目,并尝试将其加载到我的索引模板中。但我没有得到一个图像,当我看着它所说的控制台(“WEBSITENAME/site_media/items/image.jpg 404(Not Found)”)
我认为问题在于settings.py文件,但我不能弄清楚我在这里做错了什么。
index.html的模板
{% load static %}
<div class="item" style="background-image: url('{{ item.img.url }}')">`
Model.py
class Item(models.Model):
name = models.CharField(max_length=200)
img = models.ImageField(upload_to='items', default='', blank=True, null=True)
def __str__(self):
return "%s" % (self.name)
Views.py
def index(request):
latestItems = Item.objects.all().order_by('-id')[:3][::-1]
return render(request, 'webshop/index.html', {'latestItems' :latestItems})
settings.py
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
MEDIA_ROOT = os.path.join(SITE_ROOT, 'site_media/')
MEDIA_URL = 'site_media/'
我设法解决它。我必须在主urls.py文件中添加这些行:从django.conf导入设置 from django.conf.urls.static import static urlpatterns + = static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT) – DjangoPleb1234
请记住,为了安全起见,您可以添加: '如果settings.DEBUG: URL模式+ =静态(settings.STATIC_URL,DOCUMENT_ROOT = settings.STATIC_ROOT) URL模式+ =静态(settings.MEDIA_URL,DOCUMENT_ROOT =设置。 MEDIA_ROOT)' – Jon