如何在Django模板中设置div的图片url作为背景



我有下面的代码在我的模板,我想动态设置背景url值,来自django视图

<div class="profpic" style="background:url('{{ MEDIA_URL }}{{ objects.profpicpath }}');background-size:cover">
</div>

这给出了浏览器中源代码的输出,如下所示

<div class="profpic" style="background-image:url('/UsersOpr/documents/documents/20150718/bd55adcd-9360-4a05-b506-18373805b600_20150718_152906.jpg');background-size:cover">
</div>

{{ MEDIA_URL }} is rendered with value '/UsersOpr/'
{{ objects.profpicpath }} with value 'documents/documents/20150718/bd55adcd-9360-4a05-b506-18373805b600_20150718_152906.jpg'

我还错过了什么

这是我的Settings.py
MEDIA_ROOT = '//192.xxx.xxx.xxx/d$/UsersOpr/'
MEDIA_URL = '/UsersOpr/'

我在互联网上广泛搜索如何设置从django视图动态填充的图像url,并在django模板中呈现,但无法通过-尝试使用{{STATIC_URL}}, {{MEDIA_URL}}等,和图像路径等,但是无法得到

经过一番努力,我终于解决了这个问题。我想这可能对那些在媒体上传中遇到这种情况的人有帮助。

Settings.py应该包含以下内容:

TEMPLATE_CONTEXT_PROCESSORS = (
'django.template.context_processors.debug',
'django.template.context_processors.request',
"django.core.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.media",  # Mandatory for Media file uploads
"django.core.context_processors.static",
)
MEDIA_ROOT = '//ipaddress or localhost/.../media/'
MEDIA_URL = '/media/'

urls . py

from django.conf import settings
if settings.DEBUG:
    urlpatterns += patterns('',
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {
    'document_root': settings.MEDIA_ROOT}))

在模板中调用…应该是

{{ MEDIA_URL }}{{ object.imagepath }} 
并确保媒体文件夹对访问图像对象的用户具有读取权限

最新更新