【问题标题】:How can I load a static font file for use with PIL in Django?如何加载静态字体文件以在 Django 中与 PIL 一起使用?
【发布时间】:2013-07-23 03:50:06
【问题描述】:
我正在尝试使用settings.STATIC_URL 和纯字符串加载静态字体文件。在我的应用程序中,我有一个名为 /static 的文件夹。我的字体路径是/static/fonts/kberry.ttf
font = ImageFont.truetype(path_to_static, 12)
path_to_static 应该是什么?我已经尝试了一切,我得到的只是IOError。
【问题讨论】:
标签:
python
django
python-imaging-library
【解决方案1】:
“我真的什么都试过了”
字面意思一切?适合记忆的每个可能的字符组合?我不确定你认为我们能做什么:)
但以防万一,我猜 path_to_static 需要是字体文件的完整本地文件系统路径(而不是可以找到该文件的 Web URL,这是 STATIC_URL 将包含的内容)。
在我的设置文件中,我声明了一个SITE_ROOT 变量,如下所示:
import os
SITE_ROOT = os.path.realpath(os.path.dirname(__file__))
这会将SITE_ROOT 设置为 Django 项目文件夹的完整路径。
如果包含字体文件的静态文件夹位于项目文件夹的根目录中,那么您应该能够像这样获得它的路径:
import os, settings
path_to_static = os.path.join(settings.SITE_ROOT, 'static/fonts/kberry.ttf')