我创建了一个小功能:
def generate_name_img(self, _name):
fontPath = os.path.join( settings.BASE_DIR, "DejaVuSans.ttf" )
sans30 = ImageFont.truetype ( fontPath, 30 )
_path = "static/css/images/names/"
im = Image.new ( "RGB", (200,50), "#ddd" )
draw = ImageDraw.Draw ( im )
draw.text ( (10,10), _name, font=sans30, fill="red" )
_filename = "thename.jpg"
im.save ( _path + _filename )
return _filename
当我执行manage.py shell
时,导入该函数并调用它,它可以工作。创建一个带有名称的.jpg文件。但是当我查看页面并让ajax调用脚本时,它会返回500错误,表示static/css/images/names/thename.jpg
不存在。我希望有人可以帮助我。我在virtualenv中运行此脚本。一切正常,登录,保存到数据库,但我在创建jpeg时遇到问题。请告诉我我可能做错了什么。谢谢。
答案 0 :(得分:0)
在您的设置文件中,输入如下内容:
from os.path import dirname, join, realpath
BASE_DIR = dirname(realpath(__file__))
STATIC_ROOT = join(SITE_ROOT, 'static')
对于用户上传的文件,建议使用MEDIA目录而不是STATIC目录。