· 8 years ago · Aug 31, 2017, 01:28 PM
1TypeError at /api/posts/544/comments/
2datetime.datetime(2017, 7, 19, 9, 9, 10, 712124, tzinfo=<UTC>) is not JSON serializable
3
4Request Method: POST
5Request URL: http://83.166.241.217:8000/api/posts/544/comments/
6Django Version: 1.11.4
7Python Executable: /home/user/.local/bin/uwsgi
8Python Version: 3.5.1
9Python Path: ['.', '', '/usr/local/lib/python35.zip', '/usr/local/lib/python3.5', '/usr/local/lib/python3.5/plat-linux', '/usr/local/lib/python3.5/lib-dynload', '/home/user/.local/lib/python3.5/site-packages', '/usr/local/lib/python3.5/site-packages']
10Server time: Thu, 31 Aug 2017 16:28:37 +0300
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 'rest_framework.authtoken',
20 'rest_framework_docs',
21 'django_earthdistance',
22 'token_auth',
23 'users',
24 'pets',
25 'utils',
26 'local_services',
27 'households',
28 'posts',
29 'messaging',
30 'advertisements',
31 'global_search',
32 'news_feed',
33 'admin_google_maps',
34 'raven.contrib.django.raven_compat')
35Installed Middleware:
36('raven.contrib.django.middleware.SentryMiddleware',
37 'django.contrib.sessions.middleware.SessionMiddleware',
38 'django.middleware.common.CommonMiddleware',
39 'django.middleware.csrf.CsrfViewMiddleware',
40 'django.contrib.auth.middleware.AuthenticationMiddleware',
41 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
42 'django.contrib.messages.middleware.MessageMiddleware',
43 'django.middleware.clickjacking.XFrameOptionsMiddleware',
44 'django.middleware.security.SecurityMiddleware')
45
46
47Traceback:
48
49File "/home/user/.local/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
50 41. response = get_response(request)
51
52File "/home/user/.local/lib/python3.5/site-packages/django/core/handlers/base.py" in _legacy_get_response
53 249. response = self._get_response(request)
54
55File "/home/user/.local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
56 187. response = self.process_exception_by_middleware(e, request)
57
58File "/home/user/.local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
59 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
60
61File "/home/user/.local/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
62 58. return view_func(*args, **kwargs)
63
64File "/home/user/.local/lib/python3.5/site-packages/django/views/generic/base.py" in view
65 68. return self.dispatch(request, *args, **kwargs)
66
67File "/home/user/.local/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
68 489. response = self.handle_exception(exc)
69
70File "/home/user/.local/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
71 449. self.raise_uncaught_exception(exc)
72
73File "/home/user/.local/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
74 486. response = handler(request, *args, **kwargs)
75
76File "./posts/views.py" in post
77 224. request=request)
78
79File "/home/user/.local/lib/python3.5/site-packages/django/dispatch/dispatcher.py" in send
80 193. for receiver in self._live_receivers(sender)
81
82File "/home/user/.local/lib/python3.5/site-packages/django/dispatch/dispatcher.py" in <listcomp>
83 193. for receiver in self._live_receivers(sender)
84
85File "./posts/signals.py" in new_comment
86 71. .notify(event=CommentNotificationEvent.NEW_COMMENT, recipient=post.author)
87
88File "./utils/notifications.py" in notify
89 16. self._notify(event=event, message=message, recipient=recipient)
90
91File "./utils/notifications.py" in _notify
92 30. type=notification_type)
93
94File "/home/user/.local/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
95 85. return getattr(self.get_queryset(), name)(*args, **kwargs)
96
97File "/home/user/.local/lib/python3.5/site-packages/django/db/models/query.py" in create
98 394. obj.save(force_insert=True, using=self.db)
99
100File "/home/user/.local/lib/python3.5/site-packages/django/db/models/base.py" in save
101 807. force_update=force_update, update_fields=update_fields)
102
103File "/home/user/.local/lib/python3.5/site-packages/django/db/models/base.py" in save_base
104 837. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
105
106File "/home/user/.local/lib/python3.5/site-packages/django/db/models/base.py" in _save_table
107 923. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
108
109File "/home/user/.local/lib/python3.5/site-packages/django/db/models/base.py" in _do_insert
110 962. using=using, raw=raw)
111
112File "/home/user/.local/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
113 85. return getattr(self.get_queryset(), name)(*args, **kwargs)
114
115File "/home/user/.local/lib/python3.5/site-packages/django/db/models/query.py" in _insert
116 1076. return query.get_compiler(using=using).execute_sql(return_id)
117
118File "/home/user/.local/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in execute_sql
119 1107. cursor.execute(sql, params)
120
121File "/home/user/.local/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
122 80. return super(CursorDebugWrapper, self).execute(sql, params)
123
124File "/home/user/.local/lib/python3.5/site-packages/raven/contrib/django/client.py" in execute
125 114. return real_execute(self, sql, params)
126
127File "/home/user/.local/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
128 65. return self.cursor.execute(sql, params)
129
130File "/home/user/.local/lib/python3.5/site-packages/psycopg2/_json.py" in getquoted
131 101. s = self.dumps(self.adapted)
132
133File "/home/user/.local/lib/python3.5/site-packages/django/contrib/postgres/fields/jsonb.py" in dumps
134 25. return json.dumps(obj, **options)
135
136File "/usr/local/lib/python3.5/json/__init__.py" in dumps
137 230. return _default_encoder.encode(obj)
138
139File "/usr/local/lib/python3.5/json/encoder.py" in encode
140 199. chunks = self.iterencode(o, _one_shot=True)
141
142File "/usr/local/lib/python3.5/json/encoder.py" in iterencode
143 257. return _iterencode(o, 0)
144
145File "/usr/local/lib/python3.5/json/encoder.py" in default
146 180. raise TypeError(repr(o) + " is not JSON serializable")
147
148Exception Type: TypeError at /api/posts/544/comments/
149Exception Value: datetime.datetime(2017, 7, 19, 9, 9, 10, 712124, tzinfo=<UTC>) is not JSON serializable
150Request information:
151USER: Andrew Oparin
152
153GET: No GET data
154
155POST: No POST data
156
157FILES: No FILES data
158
159COOKIES: No cookie data
160
161META:
162CONTENT_LENGTH = '40'
163CONTENT_TYPE = 'application/json'
164DOCUMENT_ROOT = '/etc/nginx/html'
165HTTP_ACCEPT = '*/*'
166HTTP_ACCEPT_ENCODING = 'gzip, deflate'
167HTTP_ACCEPT_LANGUAGE = 'ru'
168HTTP_AUTHORIZATION = 'Token b88cf4b0a8e149dda7c4d2ab329e68ccd774c414'
169HTTP_CONNECTION = 'keep-alive'
170HTTP_CONTENT_LENGTH = '40'
171HTTP_CONTENT_TYPE = 'application/json'
172HTTP_HOST = '83.166.241.217:8000'
173HTTP_USER_AGENT = 'PetSquare/35.1 CFNetwork/811.5.4 Darwin/16.7.0'
174PATH_INFO = '/api/posts/544/comments/'
175QUERY_STRING = ''
176REMOTE_ADDR = '5.167.209.168'
177REMOTE_PORT = '52314'
178REQUEST_METHOD = 'POST'
179REQUEST_SCHEME = 'http'
180REQUEST_URI = '/api/posts/544/comments/'
181SCRIPT_NAME = ''
182SERVER_NAME = '83.166.241.217'
183SERVER_PORT = '8000'
184SERVER_PROTOCOL = 'HTTP/1.1'
185uwsgi.node = b'centos'
186uwsgi.version = b'2.0.15'
187wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
188wsgi.file_wrapper = ''
189wsgi.input = <uwsgi._Input object at 0x7f9b7c8c2b58>
190wsgi.multiprocess = True
191wsgi.multithread = False
192wsgi.run_once = False
193wsgi.url_scheme = 'http'
194wsgi.version =
195
196Settings:
197Using settings module petsquare.settings.temporary_dev
198ABSOLUTE_URL_OVERRIDES = {}
199ADMINS = []
200ALLOWED_HOSTS = ['*']
201APPEND_SLASH = True
202AUTHENTICATION_BACKENDS = 'users.backends.PhoneOrEmailBackend'
203AUTH_PASSWORD_VALIDATORS = '********************'
204AUTH_USER_MODEL = 'users.User'
205BASE_DIR = '/home/user/petsquare/main/petsquare'
206BROKER_URL = None
207CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
208CACHE_MIDDLEWARE_ALIAS = 'default'
209CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
210CACHE_MIDDLEWARE_SECONDS = 600
211CELERY_ACCEPT_CONTENT = ['json']
212CELERY_DEFAULT_QUEUE = 'high'
213CELERY_QUEUES =
214CELERY_RESULT_SERIALIZER = 'json'
215CELERY_TASK_SERIALIZER = 'json'
216CSRF_COOKIE_AGE = 31449600
217CSRF_COOKIE_DOMAIN = None
218CSRF_COOKIE_HTTPONLY = False
219CSRF_COOKIE_NAME = 'csrftoken'
220CSRF_COOKIE_PATH = '/'
221CSRF_COOKIE_SECURE = False
222CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
223CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
224CSRF_TRUSTED_ORIGINS = []
225CSRF_USE_SESSIONS = False
226DATABASES = {'default': {'PORT': '5432', 'PASSWORD': '********************', 'AUTOCOMMIT': True, 'NAME': 'petsquare', 'TEST': {'CHARSET': None, 'NAME': None, 'COLLATION': None, 'MIRROR': None}, 'HOST': 'localhost', 'TIME_ZONE': None, 'USER': 'postgres', 'ATOMIC_REQUESTS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'OPTIONS': {}}}
227DATABASE_ROUTERS = []
228DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
229DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
230DATETIME_FORMAT = 'N j, Y, P'
231DATETIME_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']
232DATE_FORMAT = 'N j, Y'
233DATE_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']
234DEBUG = True
235DEBUG_PROPAGATE_EXCEPTIONS = False
236DECIMAL_SEPARATOR = '.'
237DEFAULT_CHARSET = 'utf-8'
238DEFAULT_CONTENT_TYPE = 'text/html'
239DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
240DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
241DEFAULT_FROM_EMAIL = 'info@petsquare.club'
242DEFAULT_INDEX_TABLESPACE = ''
243DEFAULT_TABLESPACE = ''
244DISALLOWED_USER_AGENTS = []
245EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
246EMAIL_HOST = 'smtp.office365.com'
247EMAIL_HOST_PASSWORD = '********************'
248EMAIL_HOST_USER = 'info@petsquare.club'
249EMAIL_PORT = 587
250EMAIL_SSL_CERTFILE = None
251EMAIL_SSL_KEYFILE = '********************'
252EMAIL_SUBJECT_PREFIX = '[Django] '
253EMAIL_TIMEOUT = None
254EMAIL_USE_LOCALTIME = False
255EMAIL_USE_SSL = False
256EMAIL_USE_TLS = True
257ENVIRONMENT_PREFIX = 'dev'
258FILE_CHARSET = 'utf-8'
259FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
260FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
261FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
262FILE_UPLOAD_PERMISSIONS = None
263FILE_UPLOAD_TEMP_DIR = None
264FIRST_DAY_OF_WEEK = 0
265FIXTURE_DIRS = []
266FORCE_SCRIPT_NAME = None
267FORMAT_MODULE_PATH = None
268FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
269GOOGLE_API_KEY = '********************'
270HOSTNAME = 'http://83.166.241.217:8000'
271IGNORABLE_404_URLS = []
272INSTALLED_APPS =
273INTERNAL_IPS = []
274LANGUAGES = [('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'), ('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')]
275LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
276LANGUAGE_CODE = 'en-us'
277LANGUAGE_COOKIE_AGE = None
278LANGUAGE_COOKIE_DOMAIN = None
279LANGUAGE_COOKIE_NAME = 'django_language'
280LANGUAGE_COOKIE_PATH = '/'
281LOCALE_PATHS = []
282LOGGING = {'loggers': {'django.request': {'handlers': ['sentry', 'console'], 'propagate': False, 'level': 'DEBUG'}, 'django.db.backends': {'handlers': ['sentry', 'console'], 'propagate': False, 'level': 'WARNING'}, 'django': {'handlers': ['sentry', 'console'], 'level': 'WARNING'}, 'petsquare': {'handlers': ['sentry', 'console'], 'level': 'DEBUG'}}, 'handlers': {'sentry': {'level': 'WARNING', 'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler'}, 'console': {'level': 'DEBUG', 'formatter': 'verbose', 'class': 'logging.StreamHandler'}}, 'formatters': {'verbose': {'datefmt': '%d/%b/%Y %H:%M:%S', 'format': '[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] [%(funcName)s] %(message)s'}}, 'disable_existing_loggers': True, 'version': 1}
283LOGGING_CONFIG = 'logging.config.dictConfig'
284LOGIN_REDIRECT_URL = '/accounts/profile/'
285LOGIN_URL = '/accounts/login/'
286LOGOUT_REDIRECT_URL = None
287MAGISTRAL_URL = 'https://app.magistral.io'
288MANAGERS = []
289MEDIA_ROOT = 'media/'
290MEDIA_URL = '/media/'
291MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
292MIDDLEWARE = None
293MIDDLEWARE_CLASSES =
294MIGRATION_MODULES = {}
295MONTH_DAY_FORMAT = 'F j'
296NEXMO_API_KEY = '********************'
297NEXMO_API_SECRET = '********************'
298NUMBER_GROUPING = 0
299ONE_SIGNAL_APP_ID = '7e6cad01-b9e9-472c-8bfc-3957edbc33e7'
300ONE_SIGNAL_TOKEN = '********************'
301PASSWORD_HASHERS = '********************'
302PASSWORD_RESET_TIMEOUT_DAYS = '********************'
303PREPEND_WWW = False
304PUB_KEY_M = '********************'
305RAVEN_CONFIG = {'dsn': 'https://bdd28c69fbd9452eb994efa3fb950f7d:59dde7a422dd4b55bd73f93895b112bb@sentry.io/164340', 'release': 'edcb434407bf3d57a642e87d21048d5ffb300422'}
306REST_FRAMEWORK = {'PAGE_SIZE': 50, 'DEFAULT_AUTHENTICATION_CLASSES': ('token_auth.authentication.CommonTokenAuthentication',), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',), 'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',), 'DATETIME_FORMAT': '%Y-%m-%dT%H:%M:%S.%fZ', 'TEST_REQUEST_DEFAULT_FORMAT': 'json'}
307ROOT_URLCONF = 'petsquare.urls'
308SECRET_APP_KEY = '********************'
309SECRET_KEY = '********************'
310SECRET_KEY_M = '********************'
311SECURE_BROWSER_XSS_FILTER = False
312SECURE_CONTENT_TYPE_NOSNIFF = False
313SECURE_HSTS_INCLUDE_SUBDOMAINS = False
314SECURE_HSTS_PRELOAD = False
315SECURE_HSTS_SECONDS = 0
316SECURE_PROXY_SSL_HEADER = None
317SECURE_REDIRECT_EXEMPT = []
318SECURE_SSL_HOST = None
319SECURE_SSL_REDIRECT = False
320SERVER_EMAIL = 'root@localhost'
321SESSION_CACHE_ALIAS = 'default'
322SESSION_COOKIE_AGE = 1209600
323SESSION_COOKIE_DOMAIN = None
324SESSION_COOKIE_HTTPONLY = True
325SESSION_COOKIE_NAME = 'sessionid'
326SESSION_COOKIE_PATH = '/'
327SESSION_COOKIE_SECURE = False
328SESSION_ENGINE = 'django.contrib.sessions.backends.db'
329SESSION_EXPIRE_AT_BROWSER_CLOSE = False
330SESSION_FILE_PATH = None
331SESSION_SAVE_EVERY_REQUEST = False
332SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
333SETTINGS_MODULE = 'petsquare.settings.temporary_dev'
334SHORT_DATETIME_FORMAT = 'm/d/Y P'
335SHORT_DATE_FORMAT = 'm/d/Y'
336SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
337SILENCED_SYSTEM_CHECKS = []
338STATICFILES_DIRS = []
339STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
340STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
341STATIC_ROOT = '/home/user/petsquare/main/petsquare/static'
342STATIC_URL = '/static/'
343SUB_KEY_M = '********************'
344TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'APP_DIRS': True, 'DIRS': ['/home/user/petsquare/main/petsquare/templates'], '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']}}]
345TEST_NON_SERIALIZED_APPS = []
346TEST_RUNNER = 'django.test.runner.DiscoverRunner'
347THOUSAND_SEPARATOR = ','
348TIME_FORMAT = 'P'
349TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
350TIME_ZONE = 'Europe/Moscow'
351USE_ETAGS = False
352USE_I18N = True
353USE_L10N = True
354USE_THOUSAND_SEPARATOR = False
355USE_TZ = True
356USE_X_FORWARDED_HOST = False
357USE_X_FORWARDED_PORT = False
358WSGI_APPLICATION = 'petsquare.wsgi.application'
359X_FRAME_OPTIONS = 'SAMEORIGIN'
360YEAR_MONTH_FORMAT = 'F Y'
361
362
363You're seeing this error because you have DEBUG = True in your
364Django settings file. Change that to False, and Django will
365display a standard page generated by the handler for this status code.