下载文件名为中文不能识别
1、找到import_export包下的admin.py
2、定位到 ImportMixinExportMixin类下的
def get_export_filename(self, request, queryset, file_format):方法
3、修改源码 文件命名使用汉语别名
4、解决编码问题 filename=filename.encode("utf-8").decode("unicode_escape")
def get_export_filename(self, request, queryset, file_format):
date_str = datetime.now().strftime('%Y-%m-%d')
filename = "%s-%s.%s" % (#self.model._meta.db_table,
#使用别名
self.model._meta.verbose_name,
date_str,
file_format.get_extension())
#解决编码问题
filename=filename.encode("utf-8").decode("unicode_escape")
return filename
5、网上常见解决方法不适用 如
# response['Content-Type'] = 'application/octet-stream'
# response['Content-Disposition'] = 'attachment;filename= {}'.format(escape_uri_path(filename))
本文介绍如何修复Python在处理文件导出时遇到的中文文件名乱码问题。通过修改`ImportExportMixinExportMixin`类的`get_export_filename`方法,使用汉字别名并进行编码转换,确保文件名正确显示。文中还提及了常见的解决方案如设置HTTP响应头,但指出这些方法在此场景下并不适用。
565

被折叠的 条评论
为什么被折叠?



