· 7 years ago · Nov 17, 2018, 10:30 AM
1AttributeError at /api/payments/final_payment/
2'NoneType' object has no attribute 'split'
3
4Request Method: POST
5Request URL: http://95.163.210.46/api/payments/final_payment/
6Django Version: 2.0.4
7Python Executable: /usr/local/bin/python
8Python Version: 3.6.4
9Python Path: ['/skynet', '/usr/local/bin', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages', '/skynet']
10Server time: Sat, 17 Nov 2018 13:25:15 +0300
11Installed Applications:
12('django.contrib.admin',
13 'django.contrib.admindocs',
14 'django.contrib.auth',
15 'django.contrib.contenttypes',
16 'django.contrib.sessions',
17 'django.contrib.messages',
18 'django.contrib.staticfiles',
19 'django.contrib.humanize',
20 'django_extensions',
21 'nested_admin',
22 'rest_framework',
23 'drf_yasg',
24 'dynamic_rest',
25 'rest_framework_jwt',
26 'corsheaders',
27 'django_celery_results',
28 'django_celery_beat',
29 'djoser',
30 'cacheops',
31 'web.apps.swagger',
32 'web.apps.users',
33 'web.apps.area',
34 'web.apps.catalog',
35 'web.apps.timetable',
36 'web.apps.motivation',
37 'health_check',
38 'health_check.db',
39 'health_check.cache',
40 'health_check.storage',
41 'health_check.contrib.psutil',
42 'debug_toolbar')
43Installed Middleware:
44('django.middleware.security.SecurityMiddleware',
45 'django.contrib.sessions.middleware.SessionMiddleware',
46 'corsheaders.middleware.CorsMiddleware',
47 'django.middleware.common.CommonMiddleware',
48 'django.middleware.csrf.CsrfViewMiddleware',
49 'django.contrib.auth.middleware.AuthenticationMiddleware',
50 'django.contrib.messages.middleware.MessageMiddleware',
51 'django.middleware.clickjacking.XFrameOptionsMiddleware',
52 'debug_toolbar.middleware.DebugToolbarMiddleware')
53
54
55Traceback:
56
57File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
58 35. response = get_response(request)
59
60File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
61 128. response = self.process_exception_by_middleware(e, request)
62
63File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
64 126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
65
66File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
67 54. return view_func(*args, **kwargs)
68
69File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py" in view
70 69. return self.dispatch(request, *args, **kwargs)
71
72File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
73 494. response = self.handle_exception(exc)
74
75File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception
76 454. self.raise_uncaught_exception(exc)
77
78File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
79 491. response = handler(request, *args, **kwargs)
80
81File "/skynet/web/apps/motivation/views.py" in post
82 207. payment_ids = self.request.data.get('ids').split(',')
83
84Exception Type: AttributeError at /api/payments/final_payment/
85Exception Value: 'NoneType' object has no attribute 'split'
86Request information:
87USER: a.kotenko@picasel.agency
88
89GET: No GET data
90
91POST: No POST data
92
93FILES: No FILES data
94
95COOKIES:
96csrftoken = '95yeZlgjNmdjnKnaYOqU562y91tjuKOLn1GuuIXtsUoSAQpDOfkVFnBMIgVFYAVP'
97sid = '15csiap0ohe91h1wmcip30syje8d8ewb'
98
99META:
100CONTENT_LENGTH = '0'
101CSRF_COOKIE = '95yeZlgjNmdjnKnaYOqU562y91tjuKOLn1GuuIXtsUoSAQpDOfkVFnBMIgVFYAVP'
102HTTP_ACCEPT = 'application/json'
103HTTP_ACCEPT_ENCODING = 'gzip, deflate'
104HTTP_ACCEPT_LANGUAGE = 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'
105HTTP_CONNECTION = 'close'
106HTTP_COOKIE = 'csrftoken=95yeZlgjNmdjnKnaYOqU562y91tjuKOLn1GuuIXtsUoSAQpDOfkVFnBMIgVFYAVP; sid=15csiap0ohe91h1wmcip30syje8d8ewb'
107HTTP_HOST = '95.163.210.46'
108HTTP_ORIGIN = 'http://95.163.210.46'
109HTTP_REFERER = 'http://95.163.210.46/api/swagger/'
110HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36'
111HTTP_X_CSRFTOKEN = 'LtzfCBJHl1U7auF83KFWsUw8lWwq4GfDZpHv7YqR0z5GnAHBTbzX2b5mUbYMywmH'
112HTTP_X_FORWARDED_FOR = '158.255.177.137'
113HTTP_X_REAL_IP = '158.255.177.137'
114PATH_INFO = '/api/payments/final_payment/'
115QUERY_STRING = ''
116RAW_URI = '/api/payments/final_payment/'
117REMOTE_ADDR = '10.42.78.217'
118REMOTE_PORT = '54378'
119REQUEST_METHOD = 'POST'
120SCRIPT_NAME = ''
121SERVER_NAME = '0.0.0.0'
122SERVER_PORT = '8000'
123SERVER_PROTOCOL = 'HTTP/1.0'
124SERVER_SOFTWARE = 'gunicorn/19.7.1'
125gunicorn.socket = <socket.socket fd=13, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('10.42.160.141', 8000), raddr=('10.42.78.217', 54378)>
126wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f5c38854b70>
127wsgi.file_wrapper = ''
128wsgi.input = <gunicorn.http.body.Body object at 0x7f5c38951f98>
129wsgi.multiprocess = True
130wsgi.multithread = False
131wsgi.run_once = False
132wsgi.url_scheme = 'http'
133wsgi.version = '(1, 0)'
134
135Settings:
136Using settings module web.settings
137ABSOLUTE_URL_OVERRIDES = {}
138ADMINS = []
139ALLOWED_HOSTS = ['127.0.0.1', '185.224.215.63', '95.163.210.46']
140APPEND_SLASH = True
141AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
142AUTH_PASSWORD_VALIDATORS = '********************'
143AUTH_USER_MODEL = 'users.User'
144BASE_DIR = '/skynet'
145CACHEOPS = {}
146CACHEOPS_REDIS = {'host': 'localhost', 'port': 6379}
147CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
148CACHE_MIDDLEWARE_ALIAS = 'default'
149CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
150CACHE_MIDDLEWARE_SECONDS = 600
151CELERY_ACCEPT_CONTENT = ['application/json']
152CELERY_BEAT_SCHEDULE = {'create_sales_plans_for_new_mount': {'task': 'motivation.tasks.create_sales_plans_for_new_mount', 'schedule': <crontab: * 1 * 15 * (m/h/d/dM/MY)>}}
153CELERY_BROKER_URL = 'redis://localhost:6379'
154CELERY_RESULT_BACKEND = 'redis://localhost:6379'
155CELERY_RESULT_SERIALIZER = 'json'
156CELERY_TASK_SERIALIZER = 'json'
157CORS_ORIGIN_ALLOW_ALL = True
158CSRF_COOKIE_AGE = 31449600
159CSRF_COOKIE_DOMAIN = None
160CSRF_COOKIE_HTTPONLY = False
161CSRF_COOKIE_NAME = 'csrftoken'
162CSRF_COOKIE_PATH = '/'
163CSRF_COOKIE_SECURE = False
164CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
165CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
166CSRF_TRUSTED_ORIGINS = []
167CSRF_USE_SESSIONS = False
168DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'skynet', 'USER': 'postgres', 'PASSWORD': '********************', 'PORT': '5432', 'HOST': 'postgres', 'CONN_MAX_AGE': 900, 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
169DATABASE_ROUTERS = []
170DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
171DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
172DATETIME_FORMAT = 'N j, Y, P'
173DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
174DATE_FORMAT = 'N j, Y'
175DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
176DEBUG = True
177DEBUG_PROPAGATE_EXCEPTIONS = False
178DEBUG_TOOLBAR_CONFIG = {'SHOW_TEMPLATE_CONTEXT': True, 'ENABLE_STACKTRACES': True}
179DECIMAL_SEPARATOR = '.'
180DEFAULT_CHARSET = 'utf-8'
181DEFAULT_CONTENT_TYPE = 'text/html'
182DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
183DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
184DEFAULT_FROM_EMAIL = 'webmaster@localhost'
185DEFAULT_INDEX_TABLESPACE = ''
186DEFAULT_TABLESPACE = ''
187DISALLOWED_USER_AGENTS = []
188DJOSER = {'SERIALIZERS': {'user': 'web.apps.users.serializers.UserProfileSerializer'}}
189DYNAMIC_REST = {'DEBUG': True, 'ENABLE_BULK_PARTIAL_CREATION': True, 'ENABLE_BULK_UPDATE': True}
190EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
191EMAIL_FROM = 'sayhello@picasel.agency'
192EMAIL_HOST = 'smtp.sendgrid.net'
193EMAIL_HOST_PASSWORD = '********************'
194EMAIL_HOST_USER = 'chongkal'
195EMAIL_PORT = 587
196EMAIL_SSL_CERTFILE = None
197EMAIL_SSL_KEYFILE = '********************'
198EMAIL_SUBJECT_PREFIX = '[Django] '
199EMAIL_TIMEOUT = None
200EMAIL_USE_LOCALTIME = False
201EMAIL_USE_SSL = False
202EMAIL_USE_TLS = True
203FILE_CHARSET = 'utf-8'
204FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
205FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
206FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
207FILE_UPLOAD_PERMISSIONS = None
208FILE_UPLOAD_TEMP_DIR = None
209FIRST_DAY_OF_WEEK = 0
210FIXTURE_DIRS = []
211FORCE_SCRIPT_NAME = None
212FORMAT_MODULE_PATH = None
213FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
214IGNORABLE_404_URLS = "(re.compile('/favicon.ico'), re.compile('/robots.txt'))"
215INSTALLED_APPS = "('django.contrib.admin', 'django.contrib.admindocs', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'django_extensions', 'nested_admin', 'rest_framework', 'drf_yasg', 'dynamic_rest', 'rest_framework_jwt', 'corsheaders', 'django_celery_results', 'django_celery_beat', 'djoser', 'cacheops', 'web.apps.swagger', 'web.apps.users', 'web.apps.area', 'web.apps.catalog', 'web.apps.timetable', 'web.apps.motivation', 'health_check', 'health_check.db', 'health_check.cache', 'health_check.storage', 'health_check.contrib.psutil', 'debug_toolbar')"
216INTERNAL_IPS = '127.0.0.1:8000'
217JWT_AUTH = {'JWT_EXPIRATION_DELTA': datetime.timedelta(0, 10000)}
218LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian BokmГÒl'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
219LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
220LANGUAGE_CODE = 'en'
221LANGUAGE_COOKIE_AGE = None
222LANGUAGE_COOKIE_DOMAIN = None
223LANGUAGE_COOKIE_NAME = 'django_language'
224LANGUAGE_COOKIE_PATH = '/'
225LOCALE_PATHS = "('/skynet/web/conf/locale',)"
226LOGGING = {'version': 1, 'disable_existing_loggers': True, 'root': {'level': 'WARNING', 'handlers': ['console']}, 'formatters': {'verbose': {'format': '%(asctime)s %(levelname)s %(message)s'}}, 'handlers': {'console': {'level': 'DEBUG', 'class': 'logging.StreamHandler', 'formatter': 'verbose'}}, 'loggers': {'django.db.backends': {'level': 'INFO', 'handlers': ['console'], 'propagate': False}, 'django.request': {'level': 'ERROR', 'handlers': ['console'], 'propagate': False}, 'django.server': {'level': 'INFO', 'handlers': ['console'], 'propagate': False}, 'django.security': {'level': 'INFO', 'handlers': ['console'], 'propagate': False}}}
227LOGGING_CONFIG = 'logging.config.dictConfig'
228LOGIN_REDIRECT_URL = '/accounts/profile/'
229LOGIN_URL = '/accounts/login/'
230LOGOUT_REDIRECT_URL = None
231MANAGERS = []
232MEDIA_ROOT = '/skynet/web/media'
233MEDIA_URL = '/media/'
234MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
235MIDDLEWARE = "('django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware')"
236MIGRATION_MODULES = {}
237MONTH_DAY_FORMAT = 'F j'
238NUMBER_GROUPING = 0
239PASSWORD_HASHERS = '********************'
240PASSWORD_RESET_TIMEOUT_DAYS = '********************'
241PREPEND_WWW = False
242PRODUCTION = False
243PROJECT_DIR = '/skynet/web'
244RAVEN_CONFIG = {'dsn': 'https://715e5801fb954856a8ad4b6eac5962c7:7333b166cf644414bb5f6422fa3ca2c0@sentry.io/1262720', 'release': 'e789a759819cc4c78a075d9d991a13c9dd94ba7b'}
245REMOTE_DB = {'NAME': 'PhilipsCRM', 'USER': 'user', 'PASSWORD': '********************', 'HOST': 'host:port'}
246REST_FRAMEWORK = {'DEFAULT_RENDERER_CLASSES': ['rest_framework.renderers.JSONRenderer', 'dynamic_rest.renderers.DynamicBrowsableAPIRenderer'], 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.AllowAny',), 'DEFAULT_AUTHENTICATION_CLASSES': ('web.utils.CsrfExemptSessionAuthentication', 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', 'rest_framework.authentication.BasicAuthentication')}
247ROOT_URLCONF = 'web.urls'
248SECRET_KEY = '********************'
249SECURE_BROWSER_XSS_FILTER = False
250SECURE_CONTENT_TYPE_NOSNIFF = False
251SECURE_HSTS_INCLUDE_SUBDOMAINS = False
252SECURE_HSTS_PRELOAD = False
253SECURE_HSTS_SECONDS = 0
254SECURE_PROXY_SSL_HEADER = None
255SECURE_REDIRECT_EXEMPT = []
256SECURE_SSL_HOST = None
257SECURE_SSL_REDIRECT = False
258SERVER_EMAIL = 'root@localhost'
259SESSION_CACHE_ALIAS = 'default'
260SESSION_COOKIE_AGE = 5184000
261SESSION_COOKIE_DOMAIN = None
262SESSION_COOKIE_HTTPONLY = True
263SESSION_COOKIE_NAME = 'sid'
264SESSION_COOKIE_PATH = '/'
265SESSION_COOKIE_SECURE = False
266SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
267SESSION_EXPIRE_AT_BROWSER_CLOSE = False
268SESSION_FILE_PATH = None
269SESSION_SAVE_EVERY_REQUEST = False
270SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
271SETTINGS_MODULE = 'web.settings'
272SHORT_DATETIME_FORMAT = 'm/d/Y P'
273SHORT_DATE_FORMAT = 'm/d/Y'
274SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
275SILENCED_SYSTEM_CHECKS = []
276STATICFILES_DIRS = []
277STATICFILES_FINDERS = "('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder')"
278STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
279STATIC_ROOT = '/skynet/web/static'
280STATIC_URL = '/static/'
281TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/skynet/web/templates'], 'OPTIONS': {'debug': True, 'context_processors': ['django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.template.context_processors.request', 'django.contrib.messages.context_processors.messages'], 'loaders': ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')}}]
282TEST_NON_SERIALIZED_APPS = []
283TEST_RUNNER = 'django.test.runner.DiscoverRunner'
284THOUSAND_SEPARATOR = ','
285TIME_FORMAT = 'P'
286TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
287TIME_ZONE = 'Europe/Moscow'
288USE_ETAGS = False
289USE_I18N = True
290USE_L10N = True
291USE_THOUSAND_SEPARATOR = False
292USE_TZ = True
293USE_X_FORWARDED_HOST = False
294USE_X_FORWARDED_PORT = False
295WSGI_APPLICATION = 'web.wsgi.application'
296X_FRAME_OPTIONS = 'SAMEORIGIN'
297YEAR_MONTH_FORMAT = 'F Y'
298_DEBUG_ENV = 'true'
299_PRODUCTION_ENV = None
300
301
302You're seeing this error because you have DEBUG = True in your
303Django settings file. Change that to False, and Django will
304display a standard page generated by the handler for this status code.