Django显示ImageField [英] Django show ImageField

查看:130
本文介绍了Django显示ImageField的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用OneToOne方法从Django扩展了基本用户.

I have extended the base User from Django with the OneToOne method.

class Employee(models.Model):
    user = models.OneToOneField(User, on_delete = models.CASCADE)
    floor = models.CharField(max_length = 100)
    avatar = models.ImageField(upload_to='userimages')

图片已上传到媒体/用户图片.

The image is uploaded to media/userimages.

现在,当我尝试显示化身时,我正在尝试这种方式,但是它什么也没显示.

Now, when I try to show the avatar, I am trying this way, but it doesn't show anything.

<img src="media/{{ user.employee.avatar.url }}" alt="">

如果仅输出user.employee.avatar.url,则会得到:

If I just output user.employee.avatar.url, I get:

'media/userimages/name.jpg'

该图像存在于该文件夹中,但未出现在网站上.

The image exists in that folder, but it doesn't appear on the website.

我真的不知道为什么它不起作用.感谢您的帮助.

I really can't figure out why it doesn't work. Any help is appreciated.

推荐答案

我终于想出了使它起作用的方法,以防万一有人遇到相同的问题,我将回答我的问题.基本上只需将其添加到settings.py

I finally figured out how to make it work, so just in case somebody else has the same problem I am going to answer to my question. Basically just add this to settings.py

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'app/media')

这是urls.py:

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这篇关于Django显示ImageField的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆