django 将@fontface与DigitalOcean空间配合使用

c90pui9n  于 2023-02-14  发布在  Go
关注(0)|答案(1)|浏览(117)

我已经开始学习使用django,并开始在Digital Ocean的App平台上托管django。我在Digital Ocean的Spaces上托管我的静态文件。我的CSS文件加载得很好。但我的字体却不行。
我的文件结构如下:

Project
--Static
---CSS
    -CSS files
---Fonts
    - font files

我在CSS文件中设置了我的@font-face,如下所示:

@font-face {
    font-family: 'poppins';
    src: url('../static/fonts/Poppins-Light.woff2') format('woff2');
}

并应用字体,如下所示:

.div-name{
    height: 100px;
    font-family: 'poppins';
    font-size: 40px;
}

就像我说的,我的CSS加载得很好,字体只是没有显示出来。我错过了什么?谢谢你的帮助。

toe95027

toe950271#

url('../static表示从文件向上移动一个文件夹,然后进入/static,因此从 inside /css向上移动到 inside /static,然后向下移动到/static
然而,在 * static中没有/static文件夹 *,您计算错了文件夹级别。
要解决这个问题,您可以使用绝对url url('/static/...或使相对url正确工作url(../fonts

**绝对网址:**如果url('/以斜杠开头,则意味着它从网站的根目录开始向下运行。您可以在浏览器中键入绝对网址来测试绝对网址,例如转到http://127.0.01:8000/static/fonts/Poppins-Light.woff2,看看它是否下载该文件
**相对url:**表示它从文件开始并相对于它移动。您的示例从/css中的.css文件开始,然后通过../向上到/static文件夹。/static中有/CSS和/Fonts文件夹,因此完整的url是url('../Fonts/Poppins-Light.woff2')。您不需要提及/static,因为您一直都在它内部。如果您使用url('../../,例如,up two levels,则您需要提及/static。

相关问题