Django:如何在save()上没有UnicodeEncodeError上传文件?

时间:2015-05-30 12:56:49

标签: python django file-upload locale python-unicode

IM尝试上传文件,但是当文件名中包含像“ó”这样的字符时,'ascii'编解码器无法编码位置59中的字符u'\ xf3':序数不在范围内(128) 我在views.py

上的save()之前尝试obj.file = smart_unicode(form.cleaned_data["file"])

def file(instance, filename):
    i = datetime.now()
    filename = smart_unicode(filename)

    return "archivos/files/%s_%s" % (str("a")+i.strftime('%Y-%m-%d'), filename)

在models.py上,但是当使用view.py时没有错误,并且在保存的模型上有名称文件正确但没有文件,并且当不使用smart_unicode时有错误,没有特殊的caracter字体有上传问题。< / p>

1 个答案:

答案 0 :(得分:1)

此网址包含有关Django: How to upload file without UnicodeEncodeError on save()?

的信息

对我而言:

import locale
import sys

def my_views(request):
    # before 
    reload(sys)
    sys.setdefaultencoding("utf-8")