django:无法加载图像

django:无法加载图像,django,python-2.7,django-templates,Django,Python 2.7,Django Templates,我正在尝试使用从模型加载图像 表单字段 image_id = forms.CharField(widget=forms.HiddenInput(), required=False) image = forms.FileField(label = 'Select a Profile Image') 效用 def get_user(self): users = User.objects.all() data ={'users':users} return data 观点

我正在尝试使用从模型加载图像

表单字段

image_id = forms.CharField(widget=forms.HiddenInput(), required=False)
image = forms.FileField(label = 'Select a Profile Image')
效用

def get_user(self):
    users = User.objects.all()
    data ={'users':users}
    return data
观点

背景

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
模板

<center>
<img src="{{user_detail.profile_image.image}}" height="150px" width="150px">
</center>

我没有在页面上看到图像。

媒体文件(用户上传的文件)和静态文件(网站使用的图像、css、js)都应该是Apache、Nginx等web服务器的服务器

Django在这里没有任何魔力,正确配置web服务器以服务于这些文件是您的责任

例如,假设您已将Django配置为:

STATIC_URL = '/static'
STATIC_ROOT = '/var/www/mywebsite/static'

MEDIA_URL = '/media'
MEDIA_ROOT = '/var/www/mywebsite/media'
您应该已经配置了一个web服务器,以便在由*URL变量标识的URL处为那些*根目录中的文件提供服务。在Apache中,可以使用以下两种指令:

Alias /media /var/www/mywebsite/media
Alias /static /var/www/mywebsite/static
如果没有web服务器来处理媒体和静态文件,浏览器就没有机会访问这些文件

另外,如果要上传的文件是图像,我建议使用而不是FileField

然后在模板中,您可以编写如下内容,以获得图像的完整url:

<img src="{{user_detail.profile_image.image.url}}" height="150px" width="150px">


是否上传到您的服务器上?图像保存在数据库中,但不加载在页面上,在浏览器中,它显示图像的完整路径,但不加载在页面上。您的其他静态文件是否已下载?您能否在“新建”选项卡中打开图像?没有其他静态文件
<img src="{{user_detail.profile_image.image.url}}" height="150px" width="150px">