python - UnicodeDecodeError 与 Django 的 request.FILES

标签 python django

我在 View 调用中有以下代码..

def view(request):
    body = u""  
    for filename, f in request.FILES.items():
        body = body + 'Filename: ' + filename + '\n' + f.read() + '\n'

在某些情况下,我得到
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 7470: ordinal not in range(128)

我究竟做错了什么? (我正在使用 Django 1.1。)

谢谢你。

最佳答案

Django 有一些 utilities处理这个(smart_unicode,force_unicode,smart_str)。通常你只需要 smart_unicode。

from django.utils.encoding import smart_unicode
def view(request):
    body = u""  
    for filename, f in request.FILES.items():
        body = body + 'Filename: ' + filename + '\n' + smart_unicode(f.read()) + '\n'

关于python - UnicodeDecodeError 与 Django 的 request.FILES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1699126/

相关文章:

python - 查询字符串传递错误

python - 哈希表,非空槽已包含键,奇数数据值被新数据值替换

python - DRF 中的 request.data 与 Django 中的 request.body

javascript - 防止浏览器开发工具更改 POST 值

python - super() 与非直接父级一起使用

python - 基于一维列表从二维列表中删除元素

python - 在 Docker 中安装 mysqlclient-python

javascript - 什么是 Django 端点?

python - Django 中的 Fabric。如何解决等待 SSH 完成的 View

django - 不同型号共用一个ID列表