在没有MEDIA_URL的情况下返回静态图像URL

时间:2018-06-12 17:59:50

标签: python django

我跟着这个tutorial关于在网站上显示个人资料图片,我做了一切正确的事情(我希望如此)但不是返回example.com/media/posters/pic1.jpg而是返回example.com/pictures/ pic1.jpg (real example)

settings.py

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

views.py

def index(request):
    movies = {'movies' : movie.objects.all()}
    return render(request, 'index.html', movies)

models.py

class movie(models.Model):
poster = models.ImageField(upload_to='posters')

和html

{% for a in movies %}
<img src="{{ a.poster }}" alt="">
{% endfor %}

我将+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)添加到urls.py文件

另外,我不得不使用a.poster而不是poster.image.url,它只是返回unknow,不同的django版本我假设

1 个答案:

答案 0 :(得分:1)

您需要{% get_media_prefix %}.