在Flask-Admin中创建目录时出现Unicode错误

切肉刀

我遇到模块UnicodeDecodeError错误FileAdmin(包含在Flask-AdminFlask库中):

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 5: ordinal not in range(128)

每当我创建名称中包含非ASCII字符的目录(例如très)时,都会出现该错误。

我认为关键是要添加UTF-8编码:

# -*- coding: utf-8 -*-

但是在哪里(哪些文件?)以及如何在其中处理FileAdmin module呢?我不清楚。

编辑以下@PaoloCasciello请求,在错误回溯下方找到

Traceback (most recent call last)

File "C:\Python27\lib\site-packages\flask\app.py", line 1701, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Python27\lib\site-packages\flask\app.py", line 1689, in wsgi_app 
response =  self.make_response(self.handle_exception(e))
File "C:\Python27\lib\site-packages\flask\app.py", line 1687, in wsgi_app 
response = self.full_dispatch_request()
File "C:\Python27\lib\site-packages\flask\app.py", line 1360, in full_dispatch_request 
rv = self.handle_user_exception(e)
File "C:\Python27\lib\site-packages\flask\app.py", line 1358, in full_dispatch_request 
rv = self.dispatch_request()
File "C:\Python27\lib\site-packages\flask\app.py", line 1344, in dispatch_request 
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Python27\lib\site-packages\flask_admin\base.py", line 59, in inner 
return f(self, **kwargs)
File "C:\Python27\lib\site-packages\flask_admin\base.py", line 59, in inner 
return f(self, **kwargs)
File "C:\Python27\lib\site-packages\flask_admin\contrib\fileadmin.py", line 460, in index
actions_confirmation=actions_confirmation)
File "C:\Python27\lib\site-packages\flask_admin\base.py", line 247, in render 
return render_template(template, **kwargs)
File "C:\Python27\lib\site-packages\flask\templating.py", line 125, in render_template 
context, ctx.app)
File "C:\Python27\lib\site-packages\flask\templating.py", line 107, in _render 
rv = template.render(context)
File "C:\Python27\lib\site-packages\jinja2\environment.py", line 969, in render 
return self.environment.handle_exception(exc_info, True)
File "C:\Python27\lib\site-packages\jinja2\environment.py", line 742, in handle_exception 
reraise(exc_type, exc_value, tb)
File "C:\Flask\test\templates\admin\file\list.html", line 3, in top-level template code     
{% import 'admin/actions.html' as actionslib with context %}
File "C:\Flask\test\templates\admin\master.html", line 1, in top-level template code 
{% extends admin_base_template %}
File "C:\Flask\test\templates\admin\base.html", line 22, in top-level template code 
{% block page_body %}
File "C:\Flask\test\templates\admin\base.html", line 40, in block "page_body" 
{% block body %}{% endblock %}
File "C:\Flask\test\templates\admin\file\list.html", line 24, in block "body" 
{% block file_list_table %}
File "C:\Flask\test\templates\admin\file\list.html", line 42, in block "file_list_table" 
{% block list_row scoped %}
File "C:\Flask\test\templates\admin\file\list.html", line 51, in block "list_row" 
{% block list_row_actions scoped %}
File "C:\Flask\test\templates\admin\file\list.html", line 61, in block "list_row_actions" 
<input type="hidden" name="path" value="{{ path }}"></input>
File "C:\Python27\lib\site-packages\markupsafe\_native.py", line 22, in escape 
return Markup(text_type(s)
乔斯

之所以发生这种情况,是因为Pythonos.walkdir在使用ascii路径调用时以ASCII返回文件名。

因此,在初始化FileAdmin时,请确保将基本路径作为unicode字符串传递:

admin.add_view(unicode(path), '/files/', name='Files')

最新的Flask-Admin已修复此问题-FileAdmin将在内部强制使用unicode作为路径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flask Admin / SQLAlchemy Unicode错误

来自分类Dev

Flask Admin / SQLAlchemy Unicode错误

来自分类Dev

Flask出现400错误

来自分类Dev

在安装flask的virtualenv时出现错误

来自分类Dev

编辑主键具有枚举的记录时出现Flask-admin错误

来自分类Dev

在Flask中使用os.chdir时出现错误“无此文件或目录”

来自分类Dev

创建ModelView时,如何从flask-admin扩展程序解决此错误?

来自分类Dev

创建ModelView时,如何从flask-admin扩展程序解决此错误?

来自分类Dev

Flask-Admin与Flask-AppBuilder

来自分类Dev

使用Flask将文件上传到目录时出现内部服务器错误代码500

来自分类Dev

使用Flask会话时出现内部服务器错误

来自分类Dev

MySQL Select 语句时出现 Python 错误的 Flask

来自分类Dev

编写 Python Flask API 时出现 JAVA 致命错误

来自分类Dev

尝试使用Flask在MongoDB中插入字段时出现身份验证错误

来自分类Dev

在flask admin中,在保存新记录时添加确认提示

来自分类Dev

Flask资源何时创建?

来自分类Dev

用Flask创建博客

来自分类Dev

Flask SQLAlchemy分页错误

来自分类Dev

Flask 404错误

来自分类Dev

jsonify flask解析错误

来自分类Dev

Python Flask 错误请求

来自分类Dev

Flask 路由 - 404 错误

来自分类Dev

在Flask中使用会话时出现KeyError

来自分类Dev

在PyCharm中调试Flask

来自分类Dev

在Flask中禁用缓存

来自分类Dev

Flask中的表单验证

来自分类Dev

Flask中的域路由

来自分类Dev

在Flask中设置权限

来自分类Dev

Flask:在模板中呈现Unicode字符