gpt4 book ai didi

css - 为什么 django 不解析和替换我的 css 文件中的模板标签?

转载 作者:行者123 更新时间:2023-12-02 08:22:48 27 4
gpt4 key购买 nike

这是我的设置文件中的一个片段

STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'media_cdn')

我的基本目录中还有一个名为 static 的文件夹,其中有另一个名为 css 的文件夹,其中包含我的 blog.css 样式。

我的 html 文件链接到我的 css 文件使用:

{% load staticfiles %}
<head>
<link rel="stylesheet" href="{% static 'css/blog.css' %}">
</head>

媒体文件(图片)没有问题。命令行显示正在收集静态文件到static_cdn和

`/static/css/blog.css HTTP/1.1" 200 39`

虽然我认为 django 可以毫无问题地定位我的 css 文件,但是样式没有显示在元素中。

最后,我的 css 文件中的一个 block ,到目前为止唯一的 block :

body: {
background: url("{% static 'images/jumbotron.jpg' %}");

}

谁能给我指出正确的方向?谢谢

最佳答案

将它放入您的 css 文件中将不会像您预期的那样工作。

// /static/css/blog.css 

body: {
background: url("{% static 'images/jumbotron.jpg' %}");
}

要解决此特定问题,请遵循其他答案中的建议。我将尝试解释为什么您当前的方法不起作用。

django 模板引擎不会解析您的 css 文件,除非您明确告诉它这样做。模板对于处理 html 非常有用,其中内容通常会从一个请求更改为下一个请求。

CSS 文件是完全不同的情况。最好使用 Sass 或 Stylus 等样式表处理器一次构建它们,然后为每个访问者提供相同的 css 文件。

或者你可以手写普通的旧 css,这对小元素来说更好。学习css预处理本身就是一个元素。

理论上,您可以使用 django View 在每次请求时动态地提供生成的 css 文件,但这似乎是在浪费处理周期。

如果你真的想在你的css中使用django模板标签,最好在你的html页面的头部使用内联样式表。您可以将所有页面通用的样式放在一个 css 文件中,而只需将自定义动态内容放在头部即可。这样的事情可能会奏效。

{% load staticfiles %}
<head>
<link rel="stylesheet" href="{% static 'css/blog.css' %}">
<style>
body: { background: url("{% static 'images/jumbotron.jpg' %}"):}
</style>
</head>

这可以用于 myspace 风格的页面,您希望用户能够使用他们自己选择的自定义字体和背景图像来破坏他们自己的页面。

关于css - 为什么 django 不解析和替换我的 css 文件中的模板标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35240070/

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