如何加载静态字体文件以便在Django中与PIL一起使用?

时间:2013-07-23 21:00:29

标签: python django python-imaging-library

我正在尝试使用settings.STATIC_URL和纯字符串加载静态字体文件。在我的应用程序中,我有一个名为/ static的文件夹。我的字体路径是/static/fonts/kberry.ttf

font = ImageFont.truetype(path_to_static, 12)

path_to_static应该是什么?我实际上已经尝试了所有内容,我得到的只是IOError

1 个答案:

答案 0 :(得分:0)

  

“我真的尝试了一切”

字面上一切?每个可能适合内存的角色组合?我不确定你认为我们能做什么:)

但是为了以防万一,我猜测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')