首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Heroku上使用模板中的自定义字体有问题

在Heroku上使用模板中的自定义字体有问题
EN

Stack Overflow用户
提问于 2019-06-26 18:05:46
回答 1查看 264关注 0票数 1

我在Heroku上使用自定义字体时遇到了问题。

为了在生成的pdf页面上正确显示俄语文本,我在html中使用了以下自定义字体:

代码语言:javascript
运行
复制
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <title>Boat pdf</title>

     <style type="text/css">

    @font-face   {
    font-family: Palatino Linotype;
    src: url({% static "fonts/Palatino.ttf" %});
}
body {
    font-family: Palatino Linotype, Arial, sans-serif;
    color: #333333;
}

    </style>
</head>

它在本地运行良好,但在迁移到Heroku之后,每当我尝试基于html生成pdf文件时,我都会得到一个异常:

代码语言:javascript
运行
复制
File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/staticfiles/storage.py", line 420, in stored_name
2019-06-26T09:52:03.873127+00:00 app[web.1]: raise ValueError("Missing staticfiles manifest entry for '%s'" % clean_name)
2019-06-26T09:52:03.873128+00:00 app[web.1]: ValueError: Missing staticfiles manifest entry for 'fonts/Palatino.ttf'

这是我得到的唯一与静态文件相关的错误。所有其他静态工作正常。我已经尝试过一次手动运行collectstatic,甚至手动将这个字体放到了staticfiles文件夹中--没有成功。

在生产中,静态资产由Whitenoize提供服务。

与静态相关的开发设置有:

代码语言:javascript
运行
复制
INSTALLED_APPS = [
    'whitenoise.runserver_nostatic',
STATIC_ROOT = os.path.join(BASE_DIR, "static")  # new
STATIC_URL = '/static/'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

生产设置为:

代码语言:javascript
运行
复制
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
STATIC_URL = '/static/'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

问题是如何在Heroku上提供这种字体。把它放在哪里?或者也许我需要更改模板中的url?

谢谢!

EN

Stack Overflow用户

回答已采纳

发布于 2019-06-26 19:52:10

好吧,出于某些原因,Whitenoize不支持从项目的“静态”文件夹中移动的文件,这很奇怪。我将font移到app/static/app文件夹中,然后再次运行collectatic并将其全部部署到Heroku。现在它起作用了

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56770171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档