首页 > 解决方案 > Python 3 上的 Werkzeug 引发“< 在 str 和 int 的实例之间不支持”

问题描述

我正在尝试将我的烧瓶应用程序从 Python 2.7 升级到 3.6。

开发服务器运行。但是,当我尝试访问主视图时,我收到了一个相当无用的错误:

INFO:werkzeug:127.0.0.1 - - [29/Aug/2018 14:41:11] "GET / HTTP/1.1" 500 
ERROR:werkzeug:Error on request:
Traceback (most recent call last):
  File "/Users/david/PycharmProjects/med-portal/venv/lib/python3.6/site-packages/werkzeug/serving.py", line 269, in run_wsgi
    execute(self.server.app)
  File "/Users/david/PycharmProjects/med-portal/venv/lib/python3.6/site-packages/werkzeug/serving.py", line 260, in execute
    write(data)
  File "/Users/david/PycharmProjects/med-portal/venv/lib/python3.6/site-packages/werkzeug/serving.py", line 231, in write
    status < 200 or status in (204, 304)):
TypeError: '<' not supported between instances of 'str' and 'int'
# The Home page is accessible to authenticated users
@core_blueprint.route('')
@login_required  # Limits access to authenticated and active users
def home_page():
    print("Return home")
    return render_template('index.html')

版本信息:Flask 版本 1.0.2、Werkzeug 0.14、Mac OSX High Sierra 10.13.6

标签: pythonpython-3.xflaskwerkzeug

解决方案


这在 werkzeug 0.14.1 中已修复

见: https ://github.com/pallets/werkzeug/commit/86f6d0bc7c410f70ac290eef018ee48a46563d4b

修复了开发服务器中的回归

这修复了某些请求引发的类型错误。


推荐阅读