以 10 为底的 int() 的无效文字:'

invalid literal for int() with base 10: '

我最近在我的项目中添加了用于错误跟踪的哨兵,并根据文档配置了 raven here,但出现如下所示的错误。

settings.py

import raven


INSTALLED_APPS = [    
    # 3rd party app
    'raven.contrib.django.raven_compat',
]    

RAVEN_CONFIG = {
    'dsn': 'https://*****@sentry.io/224093',
    'release': raven.fetch_git_sha(os.path.dirname(os.pardir)),
}

错误日志

System check identified no issues (0 silenced).
October 02, 2017 - 11:31:58
Django version 1.10, using settings 'FoodCham.settings.development'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Sending message of length 2240 to https://sentry.io/api/224093/store/
Internal Server Error: /
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py", line 39, in inner
    response = get_response(request)
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 244, in _legacy_get_response
    response = middleware_method(request)
  File "/usr/local/lib/python2.7/dist-packages/raven/contrib/django/middleware/__init__.py", line 135, in process_request
    request.body  # forces stream to be read into memory
  File "/usr/local/lib/python2.7/dist-packages/django/http/request.py", line 267, in body
    int(self.META.get('CONTENT_LENGTH', 0)) > settings.DATA_UPLOAD_MAX_MEMORY_SIZE):
ValueError: invalid literal for int() with base 10: ''
Internal Server Error: /
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py", line 39, in inner
    response = get_response(request)

  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 244, in _legacy_get_response
    response = middleware_method(request)
  File "/usr/local/lib/python2.7/dist-packages/raven/contrib/django/middleware/__init__.py", line 135, in process_request
    request.body  # forces stream to be read into memory
  File "/usr/local/lib/python2.7/dist-packages/django/http/request.py", line 267, in body
    int(self.META.get('CONTENT_LENGTH', 0)) > settings.DATA_UPLOAD_MAX_MEMORY_SIZE):
ValueError: invalid literal for int() with base 10: ''
[02/Oct/2017 11:32:04] "GET / HTTP/1.1" 500 69274

任何有用的答案将不胜感激!

这是一个bug with a Django version。我安装了 Django 1.10 并看到了这个错误。按照问题中提到的升级到 1.10.8 解决了问题。

这是 Django 中的错误,而不是 raven 中的错误,已在 Django 1.10.8 中解决,只需将 django-1.10 升级到 django-1.10.8 即可正常工作。