· 6 years ago · Aug 20, 2019, 08:10 PM
1TypeError at /api/v1/checkins/
2float() argument must be a string or a number, not 'NoneType'
3
4Request Method: POST
5Request URL: https://api.beeonquest.com/api/v1/checkins/
6Django Version: 2.2.1
7Python Executable: /usr/local/bin/uwsgi
8Python Version: 3.6.8
9Python Path: ['/home/app/code', '.', '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
10Server time: Tue, 20 Aug 2019 20:04:18 +0000
11Installed Applications:
12['django.contrib.admin',
13 'django.contrib.auth',
14 'django.contrib.contenttypes',
15 'django.contrib.sessions',
16 'django.contrib.messages',
17 'django.contrib.staticfiles',
18 'rest_framework',
19 'drf_yasg',
20 'corsheaders',
21 'django_filters',
22 'django_amazon_ses',
23 'apps.users',
24 'apps.accounts',
25 'apps.locations',
26 'apps.clients',
27 'apps.quests',
28 'apps.checkins',
29 'apps.active_locations',
30 'apps.static_data']
31Installed Middleware:
32['corsheaders.middleware.CorsMiddleware',
33 'django.middleware.security.SecurityMiddleware',
34 'django.contrib.sessions.middleware.SessionMiddleware',
35 'django.middleware.common.CommonMiddleware',
36 'django.middleware.csrf.CsrfViewMiddleware',
37 'django.contrib.auth.middleware.AuthenticationMiddleware',
38 'django.contrib.messages.middleware.MessageMiddleware',
39 'django.middleware.clickjacking.XFrameOptionsMiddleware']
40
41
42Traceback:
43
44File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/exception.py" in inner
45 34. response = get_response(request)
46
47File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/base.py" in _get_response
48 115. response = self.process_exception_by_middleware(e, request)
49
50File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/base.py" in _get_response
51 113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
52
53File "/usr/local/lib/python3.6/dist-packages/django/views/decorators/csrf.py" in wrapped_view
54 54. return view_func(*args, **kwargs)
55
56File "/usr/local/lib/python3.6/dist-packages/django/views/generic/base.py" in view
57 71. return self.dispatch(request, *args, **kwargs)
58
59File "/usr/local/lib/python3.6/dist-packages/rest_framework/views.py" in dispatch
60 495. response = self.handle_exception(exc)
61
62File "/usr/local/lib/python3.6/dist-packages/rest_framework/views.py" in handle_exception
63 455. self.raise_uncaught_exception(exc)
64
65File "/usr/local/lib/python3.6/dist-packages/rest_framework/views.py" in dispatch
66 492. response = handler(request, *args, **kwargs)
67
68File "/usr/local/lib/python3.6/dist-packages/rest_framework/generics.py" in post
69 192. return self.create(request, *args, **kwargs)
70
71File "/usr/local/lib/python3.6/dist-packages/rest_framework/mixins.py" in create
72 21. self.perform_create(serializer)
73
74File "/usr/local/lib/python3.6/dist-packages/rest_framework/mixins.py" in perform_create
75 26. serializer.save()
76
77File "./apps/checkins/serializers.py" in save
78 85. if not self.check_dist(_location):
79
80File "./apps/checkins/serializers.py" in check_dist
81 52. dist = self._calculate_user_distance(location)
82
83File "./apps/checkins/serializers.py" in _calculate_user_distance
84 178. location_lat = float(location.latitude)
85
86Exception Type: TypeError at /api/v1/checkins/
87Exception Value: float() argument must be a string or a number, not 'NoneType'
88Request information:
89USER: Admin Admin
90
91GET: No GET data
92
93POST: No POST data
94
95FILES: No FILES data
96
97COOKIES: No cookie data
98
99META:
100CONTENT_LENGTH = '84'
101CONTENT_TYPE = 'application/json'
102DOCUMENT_ROOT = '/usr/share/nginx/html'
103HTTP_ACCEPT_ENCODING = 'gzip'
104HTTP_AUTHORIZATION = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTk3NzUzODc4LCJqdGkiOiJkNGMyMzY1ZmMxMzM0OGFkOGQwMWY1ODQ3ZjJjYTRjNCIsInVzZXJfaWQiOjF9.s0IOBYaL0417a7hzlqFSmbtRuz8b7NvDSt3sjhobUIw'
105HTTP_CONTENT_LENGTH = '84'
106HTTP_CONTENT_TYPE = 'application/json'
107HTTP_HOST = 'api.beeonquest.com'
108HTTP_USER_AGENT = 'okhttp/3.12.1'
109HTTP_X_AMZN_TRACE_ID = 'Root=1-5d5c5242-9af47fc87b264ca8950b79e8'
110HTTP_X_FORWARDED_FOR = '176.194.97.101'
111HTTP_X_FORWARDED_PORT = '443'
112HTTP_X_FORWARDED_PROTO = 'https'
113PATH_INFO = '/api/v1/checkins/'
114QUERY_STRING = ''
115REMOTE_ADDR = '172.31.52.201'
116REMOTE_PORT = '42890'
117REQUEST_METHOD = 'POST'
118REQUEST_URI = '/api/v1/checkins/'
119SCRIPT_NAME = ''
120SERVER_NAME = 'localhost'
121SERVER_PORT = '80'
122SERVER_PROTOCOL = 'HTTP/1.1'
123uwsgi.node = b'ip-172-31-54-166.ec2.internal'
124uwsgi.version = b'2.0.18'
125wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='ANSI_X3.4-1968'>
126wsgi.file_wrapper = ''
127wsgi.input = <uwsgi._Input object at 0x7f72022c2948>
128wsgi.multiprocess = False
129wsgi.multithread = False
130wsgi.run_once = False
131wsgi.url_scheme = 'https'
132wsgi.version = '(1, 0)'
133
134Settings:
135Using settings module boq.settings
136ABSOLUTE_URL_OVERRIDES = {}
137ADMINS = []
138ADMIN_MODE = False
139ALLOWED_HOSTS = ['*']
140APPEND_SLASH = True
141AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
142AUTH_PASSWORD_VALIDATORS = '********************'
143AUTH_USER_MODEL = 'users.Users'
144AWS_HOST_S3 = 'https://s3.amazonaws.com/'
145AWS_MEDIA = 'media-beeonquest.com/'
146AWS_QUERYSTRING_AUTH = False
147AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400'}
148AWS_SES_REGION = 'us-east-1'
149BASE_DIR = '/home/app/code'
150CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
151CACHE_MIDDLEWARE_ALIAS = 'default'
152CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
153CACHE_MIDDLEWARE_SECONDS = 600
154CELERY_BEAT_SCHEDULE = {'task-update-currencies-eth-usd-rate': {'task': 'apps.accounts.tasks.task_update_currencies_eth_usd_rate', 'schedule': <crontab: */15 * * * * (m/h/d/dM/MY)>}, 'task-update-currencies-usd-cad-rate': {'task': 'apps.accounts.tasks.task_update_currencies_usd_cad_rate', 'schedule': <crontab: * */2 * * * (m/h/d/dM/MY)>}}
155CELERY_BROKER_URL = 'redis://localhost'
156CONFIGURATION = 'boq.settings.DevDocker'
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_SAMESITE = 'Lax'
164CSRF_COOKIE_SECURE = False
165CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
166CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
167CSRF_TRUSTED_ORIGINS = []
168CSRF_USE_SESSIONS = False
169CURRENT_HOST = 'https://api.beeonquest.com'
170DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql', 'NAME': 'boq_dev', 'USER': 'boq_admin', 'PASSWORD': '********************', 'HOST': 'boq-dev.ctyhtso2qejb.us-east-1.rds.amazonaws.com', 'PORT': 5432, 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
171DATABASE_ROUTERS = []
172DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
173DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
174DATETIME_FORMAT = 'N j, Y, P'
175DATETIME_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']
176DATE_FORMAT = 'N j, Y'
177DATE_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']
178DEBUG = True
179DEBUG_PROPAGATE_EXCEPTIONS = False
180DECIMAL_SEPARATOR = '.'
181DEFAULT_CHARSET = 'utf-8'
182DEFAULT_CONTENT_TYPE = 'text/html'
183DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
184DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
185DEFAULT_FROM_EMAIL = 'noreply@beeonquest.com'
186DEFAULT_INDEX_TABLESPACE = ''
187DEFAULT_TABLESPACE = ''
188DISALLOWED_USER_AGENTS = []
189DOTENV_LOADED = None
190EMAIL_BACKEND = 'django_amazon_ses.EmailBackend'
191EMAIL_HOST = 'localhost'
192EMAIL_HOST_PASSWORD = '********************'
193EMAIL_HOST_USER = ''
194EMAIL_PORT = 25
195EMAIL_SSL_CERTFILE = None
196EMAIL_SSL_KEYFILE = '********************'
197EMAIL_SUBJECT_PREFIX = '[Django] '
198EMAIL_TIMEOUT = None
199EMAIL_USE_LOCALTIME = False
200EMAIL_USE_SSL = False
201EMAIL_USE_TLS = False
202FILE_CHARSET = 'utf-8'
203FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
204FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
205FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
206FILE_UPLOAD_PERMISSIONS = None
207FILE_UPLOAD_TEMP_DIR = None
208FIRST_DAY_OF_WEEK = 0
209FIXTURE_DIRS = []
210FORCE_SCRIPT_NAME = None
211FORMAT_MODULE_PATH = None
212FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
213IGNORABLE_404_URLS = []
214INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'drf_yasg', 'corsheaders', 'django_filters', 'django_amazon_ses', 'apps.users', 'apps.accounts', 'apps.locations', 'apps.clients', 'apps.quests', 'apps.checkins', 'apps.active_locations', 'apps.static_data']
215INTERNAL_IPS = []
216LANGUAGES = [('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'), ('hy', 'Armenian'), ('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')]
217LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
218LANGUAGE_CODE = 'en-us'
219LANGUAGE_COOKIE_AGE = None
220LANGUAGE_COOKIE_DOMAIN = None
221LANGUAGE_COOKIE_NAME = 'django_language'
222LANGUAGE_COOKIE_PATH = '/'
223LOCALE_PATHS = []
224LOCATION_DISTANCE = 200
225LOGGING = {}
226LOGGING_CONFIG = 'logging.config.dictConfig'
227LOGIN_REDIRECT_URL = '/accounts/profile/'
228LOGIN_URL = 'login'
229LOGOUT_REDIRECT_URL = None
230MANAGERS = []
231MEDIA_ROOT = ''
232MEDIA_URL = ''
233MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
234MIDDLEWARE = ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']
235MIGRATION_MODULES = {}
236MONTH_DAY_FORMAT = 'F j'
237NUMBER_GROUPING = 0
238PASSWORD_HASHERS = '********************'
239PASSWORD_RESET_TIMEOUT_DAYS = '********************'
240PREPEND_WWW = False
241REST_FRAMEWORK = {'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer',), 'DEFAULT_PARSER_CLASSES': ('rest_framework.parsers.JSONParser',), 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', 'PAGE_SIZE': 100, 'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.BasicAuthentication', 'rest_framework_simplejwt.authentication.JWTAuthentication'), 'EXCEPTION_HANDLER': 'apps.contrib.exceptions.body_exception_handler', 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',)}
242ROOT_URLCONF = 'boq.urls'
243SECRET_KEY = '********************'
244SECURE_BROWSER_XSS_FILTER = False
245SECURE_CONTENT_TYPE_NOSNIFF = False
246SECURE_HSTS_INCLUDE_SUBDOMAINS = False
247SECURE_HSTS_PRELOAD = False
248SECURE_HSTS_SECONDS = 0
249SECURE_PROXY_SSL_HEADER = None
250SECURE_REDIRECT_EXEMPT = []
251SECURE_SSL_HOST = None
252SECURE_SSL_REDIRECT = False
253SERVER_EMAIL = 'root@localhost'
254SESSION_CACHE_ALIAS = 'default'
255SESSION_COOKIE_AGE = 1209600
256SESSION_COOKIE_DOMAIN = None
257SESSION_COOKIE_HTTPONLY = True
258SESSION_COOKIE_NAME = 'sessionid'
259SESSION_COOKIE_PATH = '/'
260SESSION_COOKIE_SAMESITE = 'Lax'
261SESSION_COOKIE_SECURE = False
262SESSION_ENGINE = 'django.contrib.sessions.backends.db'
263SESSION_EXPIRE_AT_BROWSER_CLOSE = False
264SESSION_FILE_PATH = None
265SESSION_SAVE_EVERY_REQUEST = False
266SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
267SETTINGS_MODULE = 'boq.settings'
268SHORT_DATETIME_FORMAT = 'm/d/Y P'
269SHORT_DATE_FORMAT = 'm/d/Y'
270SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
271SILENCED_SYSTEM_CHECKS = []
272SIMPLE_JWT = {'ACCESS_TOKEN_LIFETIME': '********************', 'REFRESH_TOKEN_LIFETIME': '********************', 'ROTATE_REFRESH_TOKENS': '********************', 'BLACKLIST_AFTER_ROTATION': True, 'ALGORITHM': 'HS256', 'SIGNING_KEY': '********************', 'VERIFYING_KEY': '********************', 'AUTH_HEADER_TYPES': ('Bearer',), 'USER_ID_FIELD': 'id', 'USER_ID_CLAIM': 'user_id', 'AUTH_TOKEN_CLASSES': '********************', 'TOKEN_TYPE_CLAIM': '********************', 'SLIDING_TOKEN_REFRESH_EXP_CLAIM': '********************', 'SLIDING_TOKEN_LIFETIME': '********************', 'SLIDING_TOKEN_REFRESH_LIFETIME': '********************'}
273STATICFILES_DIRS = "('/home/app/code/assets',)"
274STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
275STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
276STATIC_ROOT = '/home/app/code/static'
277STATIC_URL = '/static/'
278SWAGGER_SETTINGS = {'DEFAULT_AUTO_SCHEMA_CLASS': 'apps.contrib.schemas.SwaggerFakeListResponseAutoSchema', 'DEFAULT_FIELD_INSPECTORS': ['drf_yasg.inspectors.CamelCaseJSONFilter', 'drf_yasg.inspectors.ReferencingSerializerInspector', 'drf_yasg.inspectors.RelatedFieldInspector', 'drf_yasg.inspectors.ChoiceFieldInspector', 'drf_yasg.inspectors.FileFieldInspector', 'drf_yasg.inspectors.DictFieldInspector', 'drf_yasg.inspectors.HiddenFieldInspector', 'drf_yasg.inspectors.RecursiveFieldInspector', 'drf_yasg.inspectors.SerializerMethodFieldInspector', 'drf_yasg.inspectors.SimpleFieldInspector', 'drf_yasg.inspectors.StringDefaultFieldInspector'], 'DEFAULT_PAGINATOR_INSPECTORS': ['apps.contrib.schemas.DjangoRestResponseFakePagination', 'drf_yasg.inspectors.CoreAPICompatInspector'], 'SECURITY_DEFINITIONS': {'api_key': '********************'}}
279TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/app/code/templates'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}]
280TEST_NON_SERIALIZED_APPS = []
281TEST_RUNNER = 'django.test.runner.DiscoverRunner'
282THOUSAND_SEPARATOR = ','
283TIME_FORMAT = 'P'
284TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
285TIME_ZONE = 'UTC'
286TOKEN_TTL = '********************'
287USE_I18N = True
288USE_L10N = True
289USE_THOUSAND_SEPARATOR = False
290USE_TZ = True
291USE_X_FORWARDED_HOST = False
292USE_X_FORWARDED_PORT = False
293WSGI_APPLICATION = 'boq.wsgi.application'
294X_FRAME_OPTIONS = 'SAMEORIGIN'
295YEAR_MONTH_FORMAT = 'F Y'