我的 css 文件可以正常工作,但我无法添加 bacgorund 图像。我尝试了 3 种方式,但没有用。
这是我的 style.css
.first-info{
width: 100%;
height: 300px;
background-image: url( "{% static 'img/bg.jpg' %}");
}
这是我的 base.html(img 正在工作)
{% load static %}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}VPW{% endblock %}</title>
<link href="{% static 'css/style.css' %}" rel="stylesheet">
<link href="{% static 'css/bootstrap.css' %}" rel="stylesheet">
<link href="{% static 'css/font-awesome.css' %}" rel="stylesheet">
<script href="{% static 'js/bootstrap.js' %}"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class="container-fluid">
<div class="row head">
<div class="col-md-12">
<div class="col-md-4">
</div>
<div class="col-md-4 logo">
<img src="{% static 'img/logo1.png' %}">
</div>
<div class="col-md-4">
</div>
</div>
</div>
</div>
<div id="content">
{% block content %}
{% endblock %}
</div>
</body>
</html>
这是我的 main.html,其中我有课程第一信息。
{% extends "shop/base.html" %}
{% load static %}
{% block title %}VPW{% endblock %}
{% block content %}
<div class="container-fluid">
<div class="row first-info">
<div class="col-md-4">
<div class="box">
Lorem Ipsum
</div>
</div>
<div class="col-md-4">
<div class="box">
</div>
</div>
<div class="col-md-4">
<div class="box">
</div>
</div>
</div>
</div>
{% endblock %}
我尝试更改 css background-image: url( “{% static ‘img/bg.jpg’ %}”);到背景图片:url(“img/bg.jpg”);但不要工作
原文由 Krystian Kazimierczak 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是预期的行为。 Django 模板引擎在呈现 html 模板时填充所有变量。它不会填充 html 中包含的 css 文件中的值。
你的 base.html 因为
{% static 'img/logo1.png' %}
被替换成类似/static/img/logo1.png
的东西,浏览器能够找到图像,加载它并呈现它。如果你想让你的背景图像动态化,你可以 .
您可以直接在模板中添加 css 类,即
或者直接在您的 html 标记中使用内联 css。
或者只是在您的 css 文件中硬编码完整路径。但它消除了动态行为,即您的静态路径。我假设它只是
/static/