如何在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可以正常工作,但是我做不到。

解决方法

首先在您的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' %});"
,

您可以检查根set-cookie中是否有这样的内容:

chrome://settings/cookies

,然后在您的根project/settings.py中:

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

请确保在进行这些更改后确保重新启动服务器。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...