python - 如何在 css django 1.11.x 中设置模型中的图像?

标签 python css django

我尝试在 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/

相关文章:

python - 在使用 @api_view 函数 View 时使用 drf 扩展中的 @cache_response() 装饰器

python - 检查由 Twisted 的 FTPClient.retrieveFile 方法检索的文件的完整性

html - Wordpress CSS——可能是一个很好的解决方案

python - django.db.utils.IntegrityError : column "color_set_id" contains null values

javascript - 无法使用 Javascript 在窗口加载时添加带有样式的 div 元素

php - 页脚仅重叠一页

django - docker 重启策略 = 始终后 Nginx 不工作

python - BeautifulSoup 4 : How to replace a tag with text and another tag?

python - scipysolve_ovp 的数组维度错误

python - 如何使用 Python 在 Windows 控制台中打印卢比符号?