gpt4 book ai didi

python - 带有 CSS 嵌入图像的 Django 元素

转载 作者:行者123 更新时间:2023-11-28 10:24:59 25 4
gpt4 key购买 nike

我创建了一个 Django 元素,它将构建到各种环境中:Dev、Test、Prod 等。我有很多 CSS 文件,其中一些文件嵌入了图像。例如:

.logo {
background-image: url(http://{server:port}/static/logo.png);
height: 58px;
width: 239px;
}

对于每个环境,可能有不同的服务器和端口来提供静态内容。

允许 CSS 文件考虑各种环境的最有效方法(连同 Django 的最佳实践)是什么?

最佳答案

哈桑,

Django 对此的最佳实践是将服务器端口作为“上下文”传递给图像,并根据它调用图像。

一个简单的views.py

def image_view(request, server_port):
return render(request, 'image_page.html', {'server_port': server_port})

urls.py

urlpatterns = patterns('',
url(r'image_view/(?P<server_port>\d+)/$', views.image_view, name='image_view'),
)

然后在您的 image_page.html

<body>
<img src="{{ STATIC_URL }}{{ server_port }}logo.png" alt="" />
</body>

到达此 View /html 页面的url:

<a href="{% url 'image_view' 'server_port' %}">Link</a>

您无法使用 Django 将上下文变量传递给 .css 文件。不是我知道的。希望有所帮助。请记住在您的 settings.py 中配置 STATIC_URL 以使其工作。并且您的 server_port 还需要匹配存储图像的目录,以便 Django 使用文件路径查找图像。

关于python - 带有 CSS 嵌入图像的 Django 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23766402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com