【发布时间】:2018-04-09 19:53:12
【问题描述】:
当我尝试上传文件时,我的页面显示如下:
'ascii' codec can't encode character u'\xc1' in position 51: ordinal not in range(128)
os.stat(path)
u'/opt/djangoproject/ConvocatoriaESCA/media_cdn/Luis \xc1ngel Garc\xeda Ramos/Comprobante_Ingl\xe9s_Luis_\xc1ngel_Garc\xeda_Ramos.pdf'
我在models.py中上传文件的路径有:
def upload_location_comprobante_ingles(instance, filename):
filename = u"Comprobante_Inglés %s %s.pdf" % (instance.nombre, instance.apellidos)
return u"%s %s/%s" % (instance.nombre, instance.apellidos, filename)
并且 nombre 和 apellidos 是 UTF-8 字符串
【问题讨论】:
-
您的路径有问题。答案在this question。
-
path.decode('utf8') 必须在setting.py或者model里面设置?
标签: django apache django-models fedora