固定 这是我的解决方案,在主程序urls.py中我必须添加这些行。
来自django.conf导入设置 来自django.conf.urls.static import static
urlpatterns + = static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)
我有一个名为Item的模型,我有一个图像字段。我向数据库添加了一个带有图像的新项目,并尝试将其加载到我的索引模板中。但是当我看到它所说的控制台时,我没有得到一个图像(“WEBSITENAME / site_media / items / image.jpg 404(未找到)”)
我认为问题出在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/'
答案 0 :(得分:0)
在settings.py
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_URL = '/static/'
并阅读此document
使用您显示的目录根结构,我认为上述设置应该有效。虽然没有测试过。如果有效,请告诉我。
答案 1 :(得分:0)
{{ item.img.url }}
但:
{{ items.img.url }}
应该是吗?
testAllCharsValid
答案 2 :(得分:0)
在 settings.py 中:
PROJECT_ROOT = os.path.abspath(os.path.dirname(__ file __))
STATICFILES_DIRS = ( os.path.join(PROJECT_ROOT, "静态"), )