недопустимый литерал для int() с основанием 10: '

Недавно я добавил в свой проект sentry для отслеживания ошибок и настроил raven в соответствии с документацией здесь но получая ошибку, показанную ниже.

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

Любой полезный ответ будет оценен!


person shuboy2014    schedule 02.10.2017    source источник
comment
Какова ваша настройка CONTENT_LENGTH? Он не должен быть пустым.   -  person    schedule 02.10.2017
comment
Попробуйте установить значение по умолчанию '0' вместо простого 0.   -  person The_Cthulhu_Kid    schedule 02.10.2017
comment
@The_Cthulhu_Kid Я не могу изменить настройки фреймворка   -  person shuboy2014    schedule 02.10.2017
comment
self.META.get('CONTENT_LENGTH') отправляется "" сервером. Вам следует обновить настройки сервера, чтобы он также отправлял длину содержимого.   -  person ozgur    schedule 02.10.2017


Ответы (2)


Это ошибка версии Django. У меня был установлен Django 1.10, и я видел эту ошибку. Обновление до 1.10.8, как упоминалось в проблеме, решило проблему.

person jonathanpglick    schedule 02.10.2017

Это ошибка в Django, а не в raven, которая исправлена ​​в Django 1.10.8, просто обновив django-1.10 до django-1.10.8, он отлично работает.

person shuboy2014    schedule 04.10.2017