我尝试在 css 文件中插入用户之前注册的图像。
我的模型
class Basics(models.Model):
...
logo = models.ImageField('Logo')
...
我的 context_processors
# -*- conding:utf-8 -*-
from .models import Basics
def general(request):
try:
sitebasics = Basics.objects.get(pk=1)
except:
sitebasics = False
context = {
'sitebasics': sitebasics,
}
return context
我的CSS文件
{% load thumbnail %}
...
.header-full-title {
float: left;
overflow: hidden;
padding-left: 75px;
background-image: url("{{ sitebasics.logo|thumbnail_url:'logo_large' }}");
background-repeat: no-repeat;
background-position: left center;
}
检查 HTML 的输出是:
.header-full-title {
float: left;
overflow: hidden;
padding-left: 75px;
background-image: url({{ sitebasics.logo|thumbnail_url:'logo_large' }});
background-repeat: no-repeat;
background-position: left center;
因此,在渲染时,它不会放置图像的路径,而是将 {{ sitebasics.logo|thumbnail_url:'logo_large' }}
作为 css 的原始文本。
渲染 HTML 时如何在 css 文件中加载图像?
最佳答案
Django 不会在 css 中渲染。
如果你想更改背景图像,那么最好在模板内编写内联:
内部模板:
<div class="header-full-title" style="background-image: url('{{ sitebasics.logo|thumbnail_url:"logo_large" }}');"></div>
您还可以创建动态 CSS,但事实并非如此,因为您只需要更改一个属性。
关于python - 如何在 css django 1.11.x 中设置模型中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46812652/