Python 3上的Werkzeug引发“ <在str和int实例之间不支持”

时间:2018-08-29 19:49:47

标签: python python-3.x flask werkzeug

我正在尝试将我的Flask应用程序从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

2 个答案:

答案 0 :(得分:1)

看来您是在此文件之外的错误,很可能是在使用此蓝图的@login_required装饰器或flask-app中。

我认为您正在以字符串形式返回状态代码,例如return Response, "200"导致werkzeug总计比较

答案 1 :(得分:1)

此问题已在werkzeug 0.14.1中修复

请参阅: https://github.com/pallets/werkzeug/commit/86f6d0bc7c410f70ac290eef018ee48a46563d4b

  

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

     

这可以解决某些请求引发的类型错误。