如何将 css 样式标签内的 Django 代码写入静态目录中的 link 图像

How to write django code inside css style tag to link images from static directory

我想将 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 工作正常但我无法做到这一点。

您可以检查您的根 project/settings.py 中是否有这样的内容:

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

然后,在你的根 project/urls.py:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [...] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

当然,请确保在这些更改后重新启动服务器。

首先将这些代码添加到您的 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' %});"