【发布时间】:2018-07-13 16:29:01
【问题描述】:
我使用管理员上传了图片,但无法在模板中呈现它们。我错过了什么?
Settings.py
STATIC_URL = '/static/'
STATIC_DIRS = { os.path.join(BASE_DIR, "static"),
}
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
模型.py
class Function(models.Model):
name = models.CharField(max_length=50)
fimage = models.ImageField(upload_to="images")
def __unicode__(self):
return "name{},id{}".format(self.name, self.id)
HTML
{% for function in functions %}
<a href="function_page/{{function.id}}">
<img id=function_menu_pic src="{{MEDIA_URL}}{{function.fimage.url}}"></a>
{% endfor %}
Views.py
def main(request):
context = {
"functions": Function.objects.all()
}
return render (request, 'project/main.html', context)
网址.py
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
当我上传文件时,它们将转到与 manage.py 处于同一级别的媒体文件。我不确定从那里路由是如何工作的。
我收到所有图片的这条消息:
Not Found: /media/images/lpo.png
[02/Feb/2018 09:54:01] "GET /media/images/1_ssOAG27.png HTTP/1.1" 404 2748
【问题讨论】:
标签: django django-models django-templates