首页 > 解决方案 > 如何在 css 样式标签中编写 django 代码以链接静态目录中的图像

问题描述

我想将 Django 代码写入 HTML 元素中的 CSS 样式标签,以便从静态目录中获取图像。这是我的原始代码

<a href="single.html" class="img" style="background-image: url(images/image_1.jpg);"></a>

我尝试使用以下代码

<a href="single.html" class="img" style="background-image: {% static 'images/image_1.jpg' %};"></a>

但这对我不起作用,我该如何解决这个问题?注意:我使用 {% load static %} 加载所有静态文件,css 和 js 工作正常,但我无法做到这一点。

标签: cssdjangotagsstylesdjango-staticfiles

解决方案


首先在你的 settings.py 中添加这些代码

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'myproject/static')
]


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

然后在你的项目 urls.py 中添加这些代码

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

然后将此行添加到您的html

style="background-image: url({%static 'images/person_1.jpg' %});"

推荐阅读