· 4 years ago · Mar 04, 2021, 07:44 AM
1
2AttributeError at /api/checkout/create
3
4Got AttributeError when attempting to get a value for field `user_info` on serializer `CheckoutOrderSerializer`.
5The serializer field might be named incorrectly and not match any attribute or key on the `Checkout` instance.
6Original exception text was: 'Checkout' object has no attribute 'user_info'.
7
8Request Method: POST
9Request URL: http://localhost:8535/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual
10Django Version: 3.1.4
11Exception Type: AttributeError
12Exception Value:
13
14Got AttributeError when attempting to get a value for field `user_info` on serializer `CheckoutOrderSerializer`.
15The serializer field might be named incorrectly and not match any attribute or key on the `Checkout` instance.
16Original exception text was: 'Checkout' object has no attribute 'user_info'.
17
18Exception Location: /usr/local/lib/python3.7/site-packages/rest_framework/fields.py, line 490, in get_attribute
19Python Executable: /usr/local/bin/python
20Python Version: 3.7.5
21Python Path:
22
23['/code/server',
24 '/code/server',
25 '/usr/local/lib/python37.zip',
26 '/usr/local/lib/python3.7',
27 '/usr/local/lib/python3.7/lib-dynload',
28 '/usr/local/lib/python3.7/site-packages',
29 '.',
30 'app',
31 '/code/server/packages/px-django-canned-cache',
32 '/code/server/packages/px-django-dogpile-cache',
33 '/usr/local/lib/python3.7/site-packages/odf',
34 '/usr/local/lib/python3.7/site-packages/odf',
35 '/usr/local/lib/python3.7/site-packages/odf',
36 '/usr/local/lib/python3.7/site-packages/odf',
37 '/usr/local/lib/python3.7/site-packages/odf',
38 '/usr/local/lib/python3.7/site-packages/odf',
39 '/usr/local/lib/python3.7/site-packages/odf']
40
41Server time: Thu, 04 Mar 2021 07:35:20 +0000
42Traceback Switch to copy-and-paste view
43
44 /usr/local/lib/python3.7/site-packages/rest_framework/fields.py, line 457, in get_attribute
45
46 def get_attribute(self, instance):
47
48 """
49
50 Given the *outgoing* object instance, return the primitive value
51
52 that should be used for this field.
53
54 """
55
56 try:
57
58 return get_attribute(instance, self.source_attrs)
59
60 …
61
62 except BuiltinSignatureError as exc:
63
64 msg = (
65
66 'Field source for `{serializer}.{field}` maps to a built-in '
67
68 'function type and is invalid. Define a property or method on '
69
70 'the `{instance}` instance that wraps the call to the built-in '
71
72 'function.'.format(
73
74 ▶ Local vars
75 Variable Value
76 instance
77
78 <Checkout: >
79
80 msg
81
82 ('Got AttributeError when attempting to get a value for field `user_info` on '
83 'serializer `CheckoutOrderSerializer`.\n'
84 'The serializer field might be named incorrectly and not match any attribute '
85 'or key on the `Checkout` instance.\n'
86 "Original exception text was: 'Checkout' object has no attribute 'user_info'.")
87
88 self
89
90 CheckoutUserInfo():
91 email = EmailField(allow_blank=True, label='Адрес электронной почты', max_length=254, required=False)
92 phone = CharField(allow_null=True, label='Телефон', max_length=125, required=False)
93 itn = IntegerField(allow_null=True, label='ИНН', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
94 legal_form = ChoiceField(choices=Choices((1, 'individual', 'ФЛ'), (2, 'entrepreneur', 'ФЛП'), (3, 'entity', 'Юр. лицо')), help_text='\n * 1 - is individual(ФЛ)\n * 2 - is entrepreneur(ФЛП)\n * 3 - is entity(Юр. лицо)\n ')
95 edrpou = IntegerField(allow_null=True, label='ЕГРПОУ', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
96 name = CharField(allow_null=True, label='Название предприятия / ФЛП / ФИО', max_length=255, required=False)
97 industry = PrimaryKeyRelatedField(allow_null=True, label='Отрасль', queryset=Industry.objects.all(), required=False)
98 ownership_type = PrimaryKeyRelatedField(allow_null=True, label='Форма собственности', queryset=OwnershipType.objects.all(), required=False)
99 delivery_choice = IntegerField()
100 correspondence_info = IntegerField()
101 payment_type = IntegerField()
102
103 /usr/local/lib/python3.7/site-packages/rest_framework/fields.py, line 97, in get_attribute
104
105 Also accepts either attribute lookup on objects or dictionary lookups.
106
107 """
108
109 for attr in attrs:
110
111 try:
112
113 if isinstance(instance, Mapping):
114
115 instance = instance[attr]
116
117 else:
118
119 instance = getattr(instance, attr)
120
121 …
122
123 except ObjectDoesNotExist:
124
125 return None
126
127 if is_simple_callable(instance):
128
129 try:
130
131 instance = instance()
132
133 except (AttributeError, KeyError) as exc:
134
135 ▶ Local vars
136 Variable Value
137 attr
138
139 'user_info'
140
141 attrs
142
143 ['user_info']
144
145 instance
146
147 <Checkout: >
148
149 During handling of the above exception ('Checkout' object has no attribute 'user_info'), another exception occurred:
150 /usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py, line 47, in inner
151
152 response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
153
154 return response
155
156 return inner
157
158 else:
159
160 @wraps(get_response)
161
162 def inner(request):
163
164 try:
165
166 response = get_response(request)
167
168 …
169
170 except Exception as exc:
171
172 response = response_for_exception(request, exc)
173
174 return response
175
176 return inner
177
178 ▶ Local vars
179 Variable Value
180 exc
181
182 AttributeError("Got AttributeError when attempting to get a value for field `user_info` on serializer `CheckoutOrderSerializer`.\nThe serializer field might be named incorrectly and not match any attribute or key on the `Checkout` instance.\nOriginal exception text was: 'Checkout' object has no attribute 'user_info'.")
183
184 get_response
185
186 <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f74c05f26d0>>
187
188 request
189
190 <WSGIRequest: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>
191
192 /usr/local/lib/python3.7/site-packages/django/core/handlers/base.py, line 179, in _get_response
193
194 if response is None:
195
196 wrapped_callback = self.make_view_atomic(callback)
197
198 # If it is an asynchronous view, run it in a subthread.
199
200 if asyncio.iscoroutinefunction(wrapped_callback):
201
202 wrapped_callback = async_to_sync(wrapped_callback)
203
204 try:
205
206 response = wrapped_callback(request, *callback_args, **callback_kwargs)
207
208 …
209
210 except Exception as e:
211
212 response = self.process_exception_by_middleware(e, request)
213
214 if response is None:
215
216 raise
217
218 # Complain if the view returned None (a common error).
219
220 ▶ Local vars
221 Variable Value
222 callback
223
224 <function OrderCreateAPIView at 0x7f74aef99680>
225
226 callback_args
227
228 ()
229
230 callback_kwargs
231
232 {}
233
234 middleware_method
235
236 <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f74ae90f9d0>>
237
238 request
239
240 <WSGIRequest: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>
241
242 response
243
244 None
245
246 self
247
248 <django.core.handlers.wsgi.WSGIHandler object at 0x7f74c05f26d0>
249
250 wrapped_callback
251
252 <function OrderCreateAPIView at 0x7f74aef99680>
253
254 /usr/local/lib/python3.7/site-packages/django/views/decorators/csrf.py, line 54, in wrapped_view
255
256 def csrf_exempt(view_func):
257
258 """Mark a view function as being exempt from the CSRF view protection."""
259
260 # view_func.csrf_exempt = True would also work, but decorators are nicer
261
262 # if they don't have side effects, so return a new function.
263
264 def wrapped_view(*args, **kwargs):
265
266 return view_func(*args, **kwargs)
267
268 …
269
270 wrapped_view.csrf_exempt = True
271
272 return wraps(view_func)(wrapped_view)
273
274 ▶ Local vars
275 Variable Value
276 args
277
278 (<WSGIRequest: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>,)
279
280 kwargs
281
282 {}
283
284 view_func
285
286 <function OrderCreateAPIView at 0x7f74aef995f0>
287
288 /usr/local/lib/python3.7/site-packages/django/views/generic/base.py, line 70, in view
289
290 self = cls(**initkwargs)
291
292 self.setup(request, *args, **kwargs)
293
294 if not hasattr(self, 'request'):
295
296 raise AttributeError(
297
298 "%s instance has no 'request' attribute. Did you override "
299
300 "setup() and forget to call super()?" % cls.__name__
301
302 )
303
304 return self.dispatch(request, *args, **kwargs)
305
306 …
307
308 view.view_class = cls
309
310 view.view_initkwargs = initkwargs
311
312 # take name and docstring from class
313
314 update_wrapper(view, cls, updated=())
315
316 ▶ Local vars
317 Variable Value
318 args
319
320 ()
321
322 cls
323
324 <class 'apps.checkout.views.OrderCreateAPIView'>
325
326 initkwargs
327
328 {}
329
330 kwargs
331
332 {}
333
334 request
335
336 <WSGIRequest: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>
337
338 self
339
340 <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>
341
342 /usr/local/lib/python3.7/site-packages/rest_framework/views.py, line 509, in dispatch
343
344 self.http_method_not_allowed)
345
346 else:
347
348 handler = self.http_method_not_allowed
349
350 response = handler(request, *args, **kwargs)
351
352 except Exception as exc:
353
354 response = self.handle_exception(exc)
355
356 …
357
358 self.response = self.finalize_response(request, response, *args, **kwargs)
359
360 return self.response
361
362 def options(self, request, *args, **kwargs):
363
364 """
365
366 ▶ Local vars
367 Variable Value
368 args
369
370 ()
371
372 handler
373
374 <bound method CreateAPIView.post of <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>>
375
376 kwargs
377
378 {}
379
380 request
381
382 <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>
383
384 self
385
386 <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>
387
388 /usr/local/lib/python3.7/site-packages/rest_framework/views.py, line 469, in handle_exception
389
390 exception_handler = self.get_exception_handler()
391
392 context = self.get_exception_handler_context()
393
394 response = exception_handler(exc, context)
395
396 if response is None:
397
398 self.raise_uncaught_exception(exc)
399
400 …
401
402 response.exception = True
403
404 return response
405
406 def raise_uncaught_exception(self, exc):
407
408 if settings.DEBUG:
409
410 ▶ Local vars
411 Variable Value
412 context
413
414 {'args': (),
415 'kwargs': {},
416 'request': <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>,
417 'view': <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>}
418
419 exc
420
421 AttributeError("Got AttributeError when attempting to get a value for field `user_info` on serializer `CheckoutOrderSerializer`.\nThe serializer field might be named incorrectly and not match any attribute or key on the `Checkout` instance.\nOriginal exception text was: 'Checkout' object has no attribute 'user_info'.")
422
423 exception_handler
424
425 <standards.drf.handlers.ExceptionHandler object at 0x7f749c21be90>
426
427 response
428
429 None
430
431 self
432
433 <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>
434
435 /usr/local/lib/python3.7/site-packages/rest_framework/views.py, line 480, in raise_uncaught_exception
436
437 def raise_uncaught_exception(self, exc):
438
439 if settings.DEBUG:
440
441 request = self.request
442
443 renderer_format = getattr(request.accepted_renderer, 'format')
444
445 use_plaintext_traceback = renderer_format not in ('html', 'api', 'admin')
446
447 request.force_plaintext_errors(use_plaintext_traceback)
448
449 raise exc
450
451 …
452
453 # Note: Views are made CSRF exempt from within `as_view` as to prevent
454
455 # accidental removal of this exemption in cases where `dispatch` needs to
456
457 # be overridden.
458
459 def dispatch(self, request, *args, **kwargs):
460
461 """
462
463 ▶ Local vars
464 Variable Value
465 exc
466
467 AttributeError("Got AttributeError when attempting to get a value for field `user_info` on serializer `CheckoutOrderSerializer`.\nThe serializer field might be named incorrectly and not match any attribute or key on the `Checkout` instance.\nOriginal exception text was: 'Checkout' object has no attribute 'user_info'.")
468
469 renderer_format
470
471 'json'
472
473 request
474
475 <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>
476
477 self
478
479 <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>
480
481 use_plaintext_traceback
482
483 True
484
485 /usr/local/lib/python3.7/site-packages/rest_framework/views.py, line 506, in dispatch
486
487 # Get the appropriate handler method
488
489 if request.method.lower() in self.http_method_names:
490
491 handler = getattr(self, request.method.lower(),
492
493 self.http_method_not_allowed)
494
495 else:
496
497 handler = self.http_method_not_allowed
498
499 response = handler(request, *args, **kwargs)
500
501 …
502
503 except Exception as exc:
504
505 response = self.handle_exception(exc)
506
507 self.response = self.finalize_response(request, response, *args, **kwargs)
508
509 return self.response
510
511 ▶ Local vars
512 Variable Value
513 args
514
515 ()
516
517 handler
518
519 <bound method CreateAPIView.post of <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>>
520
521 kwargs
522
523 {}
524
525 request
526
527 <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>
528
529 self
530
531 <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>
532
533 /usr/local/lib/python3.7/site-packages/rest_framework/generics.py, line 190, in post
534
535 class CreateAPIView(mixins.CreateModelMixin,
536
537 GenericAPIView):
538
539 """
540
541 Concrete view for creating a model instance.
542
543 """
544
545 def post(self, request, *args, **kwargs):
546
547 return self.create(request, *args, **kwargs)
548
549 …
550
551 class ListAPIView(mixins.ListModelMixin,
552
553 GenericAPIView):
554
555 """
556
557 Concrete view for listing a queryset.
558
559 ▶ Local vars
560 Variable Value
561 args
562
563 ()
564
565 kwargs
566
567 {}
568
569 request
570
571 <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>
572
573 self
574
575 <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>
576
577 /usr/local/lib/python3.7/contextlib.py, line 74, in inner
578
579 """
580
581 return self
582
583 def __call__(self, func):
584
585 @wraps(func)
586
587 def inner(*args, **kwds):
588
589 with self._recreate_cm():
590
591 return func(*args, **kwds)
592
593 …
594
595 return inner
596
597 class _GeneratorContextManagerBase:
598
599 """Shared functionality for @contextmanager and @asynccontextmanager."""
600
601 ▶ Local vars
602 Variable Value
603 args
604
605 (<apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>,
606 <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>)
607
608 func
609
610 <function OrderCreateAPIView.create at 0x7f74aef99b00>
611
612 kwds
613
614 {}
615
616 self
617
618 <django.db.transaction.Atomic object at 0x7f74aefa1b90>
619
620 /code/server/apps/checkout/views.py, line 87, in create
621
622 self.multistatus = len(orders) > 1
623
624 created = []
625
626 for order_data in orders:
627
628 serializer = self.get_serializer(data=order_data)
629
630 serializer.is_valid(raise_exception=True)
631
632 self.perform_create(serializer)
633
634 created.append(serializer.data['id'])
635
636 …
637
638 return response.Response(data=created)
639
640 class CheckoutTemplateView(LoginRequiredMixin, TemplateView):
641
642 template_name = 'checkout.jinja'
643
644 ▶ Local vars
645 Variable Value
646 args
647
648 ()
649
650 availabilities
651
652 {'in_europe': [<CartItem: CartItem object (8d49b38c-e17a-41c9-95fa-669f33f1dc4d)>],
653 'in_poland': [],
654 'in_ukraine': [],
655 'in_virtual': []}
656
657 created
658
659 []
660
661 kwargs
662
663 {}
664
665 order_data
666
667 {'cart': {'entities': [{'element': {'id': 1171712, 'type': 'shop.product'},
668 'quantity': 10}]},
669 'user_info': {'contact_person': {'email': 'contact@mail.com',
670 'first_name': 'Contact Valdo',
671 'last_name': 'Contact LastName',
672 'phone': '312312312313',
673 'position': None},
674 'correspondence_info': 13,
675 'delivery_choice': 12,
676 'edrpou': 3123123,
677 'email': 'admin@mail.com',
678 'industry': 2,
679 'itn': 3213123,
680 'legal_form': 1,
681 'name': 'NYC Trans',
682 'ownership_type': 2,
683 'payment_type': 1,
684 'phone': '321423423'}}
685
686 orders
687
688 [{'cart': {'entities': [{'element': {'id': 1171712, 'type': 'shop.product'},
689 'quantity': 10}]},
690 'user_info': {'contact_person': {'email': 'contact@mail.com',
691 'first_name': 'Contact Valdo',
692 'last_name': 'Contact LastName',
693 'phone': '312312312313',
694 'position': None},
695 'correspondence_info': 13,
696 'delivery_choice': 12,
697 'edrpou': 3123123,
698 'email': 'admin@mail.com',
699 'industry': 2,
700 'itn': 3213123,
701 'legal_form': 1,
702 'name': 'NYC Trans',
703 'ownership_type': 2,
704 'payment_type': 1,
705 'phone': '321423423'}},
706 {'cart': {'entities': [{'element': {'id': 1171712, 'type': 'shop.product'},
707 'quantity': 116}]},
708 'user_info': {'contact_person': {'email': 'contact@mail.com',
709 'first_name': 'Contact Valdo',
710 'last_name': 'Contact LastName',
711 'phone': '312312312313',
712 'position': None},
713 'correspondence_info': 14,
714 'delivery_choice': 12,
715 'edrpou': 3123123,
716 'email': 'admin@mail.com',
717 'industry': 2,
718 'itn': 3213123,
719 'legal_form': 1,
720 'name': 'NYC Trans',
721 'ownership_type': 2,
722 'payment_type': 1,
723 'phone': '321423423'}},
724 {'cart': {'entities': [{'element': {'id': 1171712, 'type': 'shop.product'},
725 'quantity': 8}]},
726 'user_info': {'contact_person': {'email': 'contact@mail.com',
727 'first_name': 'Contact Valdo',
728 'last_name': 'Contact LastName',
729 'phone': '312312312313',
730 'position': None},
731 'correspondence_info': 13,
732 'delivery_choice': 12,
733 'edrpou': 3123123,
734 'email': 'admin@mail.com',
735 'industry': 2,
736 'itn': 3213123,
737 'legal_form': 1,
738 'name': 'NYC Trans',
739 'ownership_type': 2,
740 'payment_type': 1,
741 'phone': '321423423'}}]
742
743 request
744
745 <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>
746
747 self
748
749 <apps.checkout.views.OrderCreateAPIView object at 0x7f749cb39ad0>
750
751 serializer
752
753 CheckoutOrderSerializer(context={'request': <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>, 'format': None, 'view': <apps.checkout.views.OrderCreateAPIView object>, 'cart': <cy_cart.integrations.django.cart.DBCart object>, 'has_unavailable': [<CartItem: CartItem object (8d49b38c-e17a-41c9-95fa-669f33f1dc4d)>], 'multistatus': True}, data={'cart': {'entities': [{'element': {'type': 'shop.product', 'id': 1171712}, 'quantity': 10}]}, 'user_info': {'edrpou': 3123123, 'email': 'admin@mail.com', 'itn': 3213123, 'industry': 2, 'legal_form': 1, 'ownership_type': 2, 'payment_type': 1, 'name': 'NYC Trans', 'phone': '321423423', 'contact_person': {'first_name': 'Contact Valdo', 'last_name': 'Contact LastName', 'email': 'contact@mail.com', 'phone': '312312312313', 'position': None}, 'delivery_choice': 12, 'correspondence_info': 13}}):
754 user_info = CheckoutUserInfo():
755 email = EmailField(allow_blank=True, label='Адрес электронной почты', max_length=254, required=False)
756 phone = CharField(allow_null=True, label='Телефон', max_length=125, required=False)
757 itn = IntegerField(allow_null=True, label='ИНН', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
758 legal_form = ChoiceField(choices=Choices((1, 'individual', 'ФЛ'), (2, 'entrepreneur', 'ФЛП'), (3, 'entity', 'Юр. лицо')), help_text='\n * 1 - is individual(ФЛ)\n * 2 - is entrepreneur(ФЛП)\n * 3 - is entity(Юр. лицо)\n ')
759 edrpou = IntegerField(allow_null=True, label='ЕГРПОУ', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
760 name = CharField(allow_null=True, label='Название предприятия / ФЛП / ФИО', max_length=255, required=False)
761 industry = PrimaryKeyRelatedField(allow_null=True, label='Отрасль', queryset=Industry.objects.all(), required=False)
762 ownership_type = PrimaryKeyRelatedField(allow_null=True, label='Форма собственности', queryset=OwnershipType.objects.all(), required=False)
763 delivery_choice = IntegerField()
764 correspondence_info = IntegerField()
765 payment_type = IntegerField()
766 cart = CartUpdateSerializer():
767 entities = CartItemSerializer(many=True):
768 element = CartItemElementSerializer(write_only=True):
769 type = CharField()
770 id = CharField()
771 parameters = JSONField(decoder=None, encoder=None, required=False, style={'base_template': 'textarea.html'})
772 quantity = IntegerField(default=1)
773
774 /usr/local/lib/python3.7/site-packages/rest_framework/serializers.py, line 548, in data
775
776 return BoundField(field, value, error)
777
778 # Include a backlink to the serializer class on return objects.
779
780 # Allows renderers such as HTMLFormRenderer to get the full field info.
781
782 @property
783
784 def data(self):
785
786 ret = super().data
787
788 …
789
790 return ReturnDict(ret, serializer=self)
791
792 @property
793
794 def errors(self):
795
796 ret = super().errors
797
798 if isinstance(ret, list) and len(ret) == 1 and getattr(ret[0], 'code', None) == 'null':
799
800 ▶ Local vars
801 Variable Value
802 __class__
803
804 <class 'rest_framework.serializers.Serializer'>
805
806 self
807
808 CheckoutOrderSerializer(context={'request': <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>, 'format': None, 'view': <apps.checkout.views.OrderCreateAPIView object>, 'cart': <cy_cart.integrations.django.cart.DBCart object>, 'has_unavailable': [<CartItem: CartItem object (8d49b38c-e17a-41c9-95fa-669f33f1dc4d)>], 'multistatus': True}, data={'cart': {'entities': [{'element': {'type': 'shop.product', 'id': 1171712}, 'quantity': 10}]}, 'user_info': {'edrpou': 3123123, 'email': 'admin@mail.com', 'itn': 3213123, 'industry': 2, 'legal_form': 1, 'ownership_type': 2, 'payment_type': 1, 'name': 'NYC Trans', 'phone': '321423423', 'contact_person': {'first_name': 'Contact Valdo', 'last_name': 'Contact LastName', 'email': 'contact@mail.com', 'phone': '312312312313', 'position': None}, 'delivery_choice': 12, 'correspondence_info': 13}}):
809 user_info = CheckoutUserInfo():
810 email = EmailField(allow_blank=True, label='Адрес электронной почты', max_length=254, required=False)
811 phone = CharField(allow_null=True, label='Телефон', max_length=125, required=False)
812 itn = IntegerField(allow_null=True, label='ИНН', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
813 legal_form = ChoiceField(choices=Choices((1, 'individual', 'ФЛ'), (2, 'entrepreneur', 'ФЛП'), (3, 'entity', 'Юр. лицо')), help_text='\n * 1 - is individual(ФЛ)\n * 2 - is entrepreneur(ФЛП)\n * 3 - is entity(Юр. лицо)\n ')
814 edrpou = IntegerField(allow_null=True, label='ЕГРПОУ', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
815 name = CharField(allow_null=True, label='Название предприятия / ФЛП / ФИО', max_length=255, required=False)
816 industry = PrimaryKeyRelatedField(allow_null=True, label='Отрасль', queryset=Industry.objects.all(), required=False)
817 ownership_type = PrimaryKeyRelatedField(allow_null=True, label='Форма собственности', queryset=OwnershipType.objects.all(), required=False)
818 delivery_choice = IntegerField()
819 correspondence_info = IntegerField()
820 payment_type = IntegerField()
821 cart = CartUpdateSerializer():
822 entities = CartItemSerializer(many=True):
823 element = CartItemElementSerializer(write_only=True):
824 type = CharField()
825 id = CharField()
826 parameters = JSONField(decoder=None, encoder=None, required=False, style={'base_template': 'textarea.html'})
827 quantity = IntegerField(default=1)
828
829 /usr/local/lib/python3.7/site-packages/rest_framework/serializers.py, line 246, in data
830
831 'You should either call `.is_valid()` first, '
832
833 'or access `.initial_data` instead.'
834
835 )
836
837 raise AssertionError(msg)
838
839 if not hasattr(self, '_data'):
840
841 if self.instance is not None and not getattr(self, '_errors', None):
842
843 self._data = self.to_representation(self.instance)
844
845 …
846
847 elif hasattr(self, '_validated_data') and not getattr(self, '_errors', None):
848
849 self._data = self.to_representation(self.validated_data)
850
851 else:
852
853 self._data = self.get_initial()
854
855 return self._data
856
857 ▶ Local vars
858 Variable Value
859 self
860
861 CheckoutOrderSerializer(context={'request': <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>, 'format': None, 'view': <apps.checkout.views.OrderCreateAPIView object>, 'cart': <cy_cart.integrations.django.cart.DBCart object>, 'has_unavailable': [<CartItem: CartItem object (8d49b38c-e17a-41c9-95fa-669f33f1dc4d)>], 'multistatus': True}, data={'cart': {'entities': [{'element': {'type': 'shop.product', 'id': 1171712}, 'quantity': 10}]}, 'user_info': {'edrpou': 3123123, 'email': 'admin@mail.com', 'itn': 3213123, 'industry': 2, 'legal_form': 1, 'ownership_type': 2, 'payment_type': 1, 'name': 'NYC Trans', 'phone': '321423423', 'contact_person': {'first_name': 'Contact Valdo', 'last_name': 'Contact LastName', 'email': 'contact@mail.com', 'phone': '312312312313', 'position': None}, 'delivery_choice': 12, 'correspondence_info': 13}}):
862 user_info = CheckoutUserInfo():
863 email = EmailField(allow_blank=True, label='Адрес электронной почты', max_length=254, required=False)
864 phone = CharField(allow_null=True, label='Телефон', max_length=125, required=False)
865 itn = IntegerField(allow_null=True, label='ИНН', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
866 legal_form = ChoiceField(choices=Choices((1, 'individual', 'ФЛ'), (2, 'entrepreneur', 'ФЛП'), (3, 'entity', 'Юр. лицо')), help_text='\n * 1 - is individual(ФЛ)\n * 2 - is entrepreneur(ФЛП)\n * 3 - is entity(Юр. лицо)\n ')
867 edrpou = IntegerField(allow_null=True, label='ЕГРПОУ', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
868 name = CharField(allow_null=True, label='Название предприятия / ФЛП / ФИО', max_length=255, required=False)
869 industry = PrimaryKeyRelatedField(allow_null=True, label='Отрасль', queryset=Industry.objects.all(), required=False)
870 ownership_type = PrimaryKeyRelatedField(allow_null=True, label='Форма собственности', queryset=OwnershipType.objects.all(), required=False)
871 delivery_choice = IntegerField()
872 correspondence_info = IntegerField()
873 payment_type = IntegerField()
874 cart = CartUpdateSerializer():
875 entities = CartItemSerializer(many=True):
876 element = CartItemElementSerializer(write_only=True):
877 type = CharField()
878 id = CharField()
879 parameters = JSONField(decoder=None, encoder=None, required=False, style={'base_template': 'textarea.html'})
880 quantity = IntegerField(default=1)
881
882 /usr/local/lib/python3.7/site-packages/rest_framework/serializers.py, line 502, in to_representation
883
884 Object instance -> Dict of primitive datatypes.
885
886 """
887
888 ret = OrderedDict()
889
890 fields = self._readable_fields
891
892 for field in fields:
893
894 try:
895
896 attribute = field.get_attribute(instance)
897
898 …
899
900 except SkipField:
901
902 continue
903
904 # We skip `to_representation` for `None` values so that fields do
905
906 # not have to explicitly deal with that case.
907
908 #
909
910 ▶ Local vars
911 Variable Value
912 field
913
914 CheckoutUserInfo():
915 email = EmailField(allow_blank=True, label='Адрес электронной почты', max_length=254, required=False)
916 phone = CharField(allow_null=True, label='Телефон', max_length=125, required=False)
917 itn = IntegerField(allow_null=True, label='ИНН', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
918 legal_form = ChoiceField(choices=Choices((1, 'individual', 'ФЛ'), (2, 'entrepreneur', 'ФЛП'), (3, 'entity', 'Юр. лицо')), help_text='\n * 1 - is individual(ФЛ)\n * 2 - is entrepreneur(ФЛП)\n * 3 - is entity(Юр. лицо)\n ')
919 edrpou = IntegerField(allow_null=True, label='ЕГРПОУ', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
920 name = CharField(allow_null=True, label='Название предприятия / ФЛП / ФИО', max_length=255, required=False)
921 industry = PrimaryKeyRelatedField(allow_null=True, label='Отрасль', queryset=Industry.objects.all(), required=False)
922 ownership_type = PrimaryKeyRelatedField(allow_null=True, label='Форма собственности', queryset=OwnershipType.objects.all(), required=False)
923 delivery_choice = IntegerField()
924 correspondence_info = IntegerField()
925 payment_type = IntegerField()
926
927 fields
928
929 <generator object Serializer._readable_fields at 0x7f749e4cead0>
930
931 instance
932
933 <Checkout: >
934
935 ret
936
937 OrderedDict()
938
939 self
940
941 CheckoutOrderSerializer(context={'request': <rest_framework.request.Request: POST '/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual'>, 'format': None, 'view': <apps.checkout.views.OrderCreateAPIView object>, 'cart': <cy_cart.integrations.django.cart.DBCart object>, 'has_unavailable': [<CartItem: CartItem object (8d49b38c-e17a-41c9-95fa-669f33f1dc4d)>], 'multistatus': True}, data={'cart': {'entities': [{'element': {'type': 'shop.product', 'id': 1171712}, 'quantity': 10}]}, 'user_info': {'edrpou': 3123123, 'email': 'admin@mail.com', 'itn': 3213123, 'industry': 2, 'legal_form': 1, 'ownership_type': 2, 'payment_type': 1, 'name': 'NYC Trans', 'phone': '321423423', 'contact_person': {'first_name': 'Contact Valdo', 'last_name': 'Contact LastName', 'email': 'contact@mail.com', 'phone': '312312312313', 'position': None}, 'delivery_choice': 12, 'correspondence_info': 13}}):
942 user_info = CheckoutUserInfo():
943 email = EmailField(allow_blank=True, label='Адрес электронной почты', max_length=254, required=False)
944 phone = CharField(allow_null=True, label='Телефон', max_length=125, required=False)
945 itn = IntegerField(allow_null=True, label='ИНН', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
946 legal_form = ChoiceField(choices=Choices((1, 'individual', 'ФЛ'), (2, 'entrepreneur', 'ФЛП'), (3, 'entity', 'Юр. лицо')), help_text='\n * 1 - is individual(ФЛ)\n * 2 - is entrepreneur(ФЛП)\n * 3 - is entity(Юр. лицо)\n ')
947 edrpou = IntegerField(allow_null=True, label='ЕГРПОУ', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
948 name = CharField(allow_null=True, label='Название предприятия / ФЛП / ФИО', max_length=255, required=False)
949 industry = PrimaryKeyRelatedField(allow_null=True, label='Отрасль', queryset=Industry.objects.all(), required=False)
950 ownership_type = PrimaryKeyRelatedField(allow_null=True, label='Форма собственности', queryset=OwnershipType.objects.all(), required=False)
951 delivery_choice = IntegerField()
952 correspondence_info = IntegerField()
953 payment_type = IntegerField()
954 cart = CartUpdateSerializer():
955 entities = CartItemSerializer(many=True):
956 element = CartItemElementSerializer(write_only=True):
957 type = CharField()
958 id = CharField()
959 parameters = JSONField(decoder=None, encoder=None, required=False, style={'base_template': 'textarea.html'})
960 quantity = IntegerField(default=1)
961
962 /usr/local/lib/python3.7/site-packages/rest_framework/fields.py, line 490, in get_attribute
963
964 exc_type=type(exc).__name__,
965
966 field=self.field_name,
967
968 serializer=self.parent.__class__.__name__,
969
970 instance=instance.__class__.__name__,
971
972 exc=exc
973
974 )
975
976 )
977
978 raise type(exc)(msg)
979
980 …
981
982 def get_default(self):
983
984 """
985
986 Return the default value to use when validating data if no input
987
988 is provided for this field.
989
990 ▶ Local vars
991 Variable Value
992 instance
993
994 <Checkout: >
995
996 msg
997
998 ('Got AttributeError when attempting to get a value for field `user_info` on '
999 'serializer `CheckoutOrderSerializer`.\n'
1000 'The serializer field might be named incorrectly and not match any attribute '
1001 'or key on the `Checkout` instance.\n'
1002 "Original exception text was: 'Checkout' object has no attribute 'user_info'.")
1003
1004 self
1005
1006 CheckoutUserInfo():
1007 email = EmailField(allow_blank=True, label='Адрес электронной почты', max_length=254, required=False)
1008 phone = CharField(allow_null=True, label='Телефон', max_length=125, required=False)
1009 itn = IntegerField(allow_null=True, label='ИНН', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
1010 legal_form = ChoiceField(choices=Choices((1, 'individual', 'ФЛ'), (2, 'entrepreneur', 'ФЛП'), (3, 'entity', 'Юр. лицо')), help_text='\n * 1 - is individual(ФЛ)\n * 2 - is entrepreneur(ФЛП)\n * 3 - is entity(Юр. лицо)\n ')
1011 edrpou = IntegerField(allow_null=True, label='ЕГРПОУ', max_value=9223372036854775807, min_value=-9223372036854775808, required=False)
1012 name = CharField(allow_null=True, label='Название предприятия / ФЛП / ФИО', max_length=255, required=False)
1013 industry = PrimaryKeyRelatedField(allow_null=True, label='Отрасль', queryset=Industry.objects.all(), required=False)
1014 ownership_type = PrimaryKeyRelatedField(allow_null=True, label='Форма собственности', queryset=OwnershipType.objects.all(), required=False)
1015 delivery_choice = IntegerField()
1016 correspondence_info = IntegerField()
1017 payment_type = IntegerField()
1018
1019Environment:
1020
1021
1022Request Method: POST
1023Request URL: http://localhost:8535/api/checkout/create?&splits=inUkraine&splits=inPoland&splits=inVirtual
1024
1025Django Version: 3.1.4
1026Python Version: 3.7.5
1027Installed Applications:
1028['markup',
1029 'shared',
1030 'apps.importer',
1031 'apps.staff',
1032 'apps.shop',
1033 'apps.novaposhta',
1034 'apps.news',
1035 'apps.streamblocks',
1036 'apps.pages',
1037 'apps.menu',
1038 'apps.contacts',
1039 'apps.reviews',
1040 'apps.settings',
1041 'apps.wishlist',
1042 'apps.comparison',
1043 'apps.checkout',
1044 'apps.export',
1045 'jet',
1046 'seo',
1047 'rosetta',
1048 'rest_framework',
1049 'django_filters',
1050 'standards',
1051 'mptt',
1052 'django_jinja',
1053 'solo',
1054 'adminsortable2',
1055 'drf_recaptcha',
1056 'drf_yasg',
1057 'postie',
1058 'parler',
1059 'codemirror2',
1060 'ckeditor',
1061 'ckeditor_uploader',
1062 'des',
1063 'vuejs_translate',
1064 'modeltranslation',
1065 'streamfield',
1066 'mapwidgets',
1067 'jsoneditor',
1068 'import_export',
1069 'qsessions',
1070 'robots',
1071 'rest_framework_tracking',
1072 'cy_cart',
1073 'cy_cart.integrations.django',
1074 'dj_template_admin_urls',
1075 'django_business_days',
1076 'ok_redirects',
1077 'huey.contrib.djhuey',
1078 'django.contrib.gis',
1079 'django.contrib.admin',
1080 'django.contrib.auth',
1081 'django.contrib.contenttypes',
1082 'django.contrib.sessions',
1083 'django.contrib.messages',
1084 'django.contrib.staticfiles',
1085 'django.contrib.sites']
1086Installed Middleware:
1087['django.middleware.security.SecurityMiddleware',
1088 'qsessions.middleware.SessionMiddleware',
1089 'django_session_timeout.middleware.SessionTimeoutMiddleware',
1090 'django.middleware.locale.LocaleMiddleware',
1091 'django.middleware.common.CommonMiddleware',
1092 'django.middleware.csrf.CsrfViewMiddleware',
1093 'django.contrib.auth.middleware.AuthenticationMiddleware',
1094 'django.contrib.messages.middleware.MessageMiddleware',
1095 'django.middleware.clickjacking.XFrameOptionsMiddleware',
1096 'ok_redirects.middleware.RedirectMiddleware']
1097
1098
1099
1100Traceback (most recent call last):
1101 File "/usr/local/lib/python3.7/site-packages/rest_framework/fields.py", line 457, in get_attribute
1102 return get_attribute(instance, self.source_attrs)
1103 File "/usr/local/lib/python3.7/site-packages/rest_framework/fields.py", line 97, in get_attribute
1104 instance = getattr(instance, attr)
1105
1106During handling of the above exception ('Checkout' object has no attribute 'user_info'), another exception occurred:
1107 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 47, in inner
1108 response = get_response(request)
1109 File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 179, in _get_response
1110 response = wrapped_callback(request, *callback_args, **callback_kwargs)
1111 File "/usr/local/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
1112 return view_func(*args, **kwargs)
1113 File "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py", line 70, in view
1114 return self.dispatch(request, *args, **kwargs)
1115 File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py", line 509, in dispatch
1116 response = self.handle_exception(exc)
1117 File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py", line 469, in handle_exception
1118 self.raise_uncaught_exception(exc)
1119 File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
1120 raise exc
1121 File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py", line 506, in dispatch
1122 response = handler(request, *args, **kwargs)
1123 File "/usr/local/lib/python3.7/site-packages/rest_framework/generics.py", line 190, in post
1124 return self.create(request, *args, **kwargs)
1125 File "/usr/local/lib/python3.7/contextlib.py", line 74, in inner
1126 return func(*args, **kwds)
1127 File "/code/server/apps/checkout/views.py", line 87, in create
1128 created.append(serializer.data['id'])
1129 File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py", line 548, in data
1130 ret = super().data
1131 File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py", line 246, in data
1132 self._data = self.to_representation(self.instance)
1133 File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py", line 502, in to_representation
1134 attribute = field.get_attribute(instance)
1135 File "/usr/local/lib/python3.7/site-packages/rest_framework/fields.py", line 490, in get_attribute
1136 raise type(exc)(msg)
1137
1138Exception Type: AttributeError at /api/checkout/create
1139Exception Value: Got AttributeError when attempting to get a value for field `user_info` on serializer `CheckoutOrderSerializer`.
1140The serializer field might be named incorrectly and not match any attribute or key on the `Checkout` instance.
1141Original exception text was: 'Checkout' object has no attribute 'user_info'.
1142
1143
1144Request information
1145USER
1146
1147admin
1148GET
1149Variable Value
1150splits
1151
1152'inVirtual'
1153
1154POST
1155
1156No POST data
1157FILES
1158
1159No FILES data
1160COOKIES
1161Variable Value
1162csrftoken
1163
1164'WJGe6lFuesGJNfbjhMFdghRKyrEZzrRq0Zfjk3D6X8QsuCThN50PtQMv3xWVpppZ'
1165
1166__stripe_mid
1167
1168'8f377559-36e9-43f3-a3d8-eecffbd16ed9d3e0f0'
1169
1170test
1171
1172'true'
1173
1174USER_COUNTRY_CODE
1175
1176''
1177
1178tiles_size
1179
1180'3'
1181
1182paid_investment
1183
1184'false'
1185
1186sessionid
1187
1188'lhlb8w8kd3bh1okjf83w3fvmk23jwvqn'
1189
1190META
1191Variable Value
1192CELERY_BROKER_URL
1193
1194'redis://cache:6379/1'
1195
1196CONTENT_LENGTH
1197
1198'1327'
1199
1200CONTENT_TYPE
1201
1202'application/json'
1203
1204CSRF_COOKIE
1205
1206'WJGe6lFuesGJNfbjhMFdghRKyrEZzrRq0Zfjk3D6X8QsuCThN50PtQMv3xWVpppZ'
1207
1208DEPLOY_BRANCH
1209
1210'dev'
1211
1212DEPLOY_IP
1213
1214'64.227.123.124'
1215
1216DEPLOY_KEY
1217
1218'********************'
1219
1220DEPLOY_PROJECT_ALIAS
1221
1222'pneumat_website'
1223
1224DJANGO_CACHE_URL
1225
1226'redis://cache:6379'
1227
1228DJANGO_DB_URL
1229
1230'postgis://postgres:postgres@db:5432/db'
1231
1232DJANGO_DEBUG
1233
1234'True'
1235
1236DJANGO_SECRET_KEY
1237
1238'********************'
1239
1240DJANGO_SETTINGS_MODULE
1241
1242'app.settings'
1243
1244GATEWAY_INTERFACE
1245
1246'CGI/1.1'
1247
1248GPG_KEY
1249
1250'********************'
1251
1252GUNICORN_PID
1253
1254'pnev.pid'
1255
1256HOME
1257
1258'/root'
1259
1260HOSTNAME
1261
1262'525ddde7d73b'
1263
1264HTTP_ACCEPT
1265
1266'*/*'
1267
1268HTTP_ACCEPT_ENCODING
1269
1270'gzip, deflate'
1271
1272HTTP_ACCEPT_LANGUAGE
1273
1274'ru'
1275
1276HTTP_CONNECTION
1277
1278'keep-alive'
1279
1280HTTP_COOKIE
1281
1282('csrftoken=WJGe6lFuesGJNfbjhMFdghRKyrEZzrRq0Zfjk3D6X8QsuCThN50PtQMv3xWVpppZ; '
1283 '__stripe_mid=8f377559-36e9-43f3-a3d8-eecffbd16ed9d3e0f0; test=true; '
1284 'USER_COUNTRY_CODE=""; tiles_size=3; paid_investment=false; '
1285 'sessionid=lhlb8w8kd3bh1okjf83w3fvmk23jwvqn')
1286
1287HTTP_HOST
1288
1289'localhost:8535'
1290
1291HTTP_ORIGIN
1292
1293'http://localhost:8535'
1294
1295HTTP_REFERER
1296
1297'http://localhost:8535/checkout/client'
1298
1299HTTP_USER_AGENT
1300
1301'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:86.0) Gecko/20100101 Firefox/86.0'
1302
1303HTTP_X_CSRFTOKEN
1304
1305'********************'
1306
1307HTTP_X_REQUESTED_WITH
1308
1309'XMLHttpRequest'
1310
1311IMPORT_UPLOADS_BASE_URL
1312
1313'http://165.22.80.47/uploads'
1314
1315LANG
1316
1317'C.UTF-8'
1318
1319PATH
1320
1321'/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
1322
1323PATH_INFO
1324
1325'/api/checkout/create'
1326
1327PWD
1328
1329'/code/server'
1330
1331PYTHONUNBUFFERED
1332
1333'1'
1334
1335PYTHON_GET_PIP_SHA256
1336
1337'b86f36cc4345ae87bfd4f10ef6b2dbfa7a872fbff70608a1e43944d283fd0eee'
1338
1339PYTHON_GET_PIP_URL
1340
1341'https://github.com/pypa/get-pip/raw/ffe826207a010164265d9cc807978e3604d18ca0/get-pip.py'
1342
1343PYTHON_PIP_VERSION
1344
1345'19.3.1'
1346
1347PYTHON_VERSION
1348
1349'3.7.5'
1350
1351QUERY_STRING
1352
1353'&splits=inUkraine&splits=inPoland&splits=inVirtual'
1354
1355REMOTE_ADDR
1356
1357'172.18.0.1'
1358
1359REMOTE_HOST
1360
1361''
1362
1363REQUEST_METHOD
1364
1365'POST'
1366
1367RUN_MAIN
1368
1369'true'
1370
1371SCRIPT_NAME
1372
1373''
1374
1375SERVER_NAME
1376
1377'525ddde7d73b'
1378
1379SERVER_PORT
1380
1381'8000'
1382
1383SERVER_PROTOCOL
1384
1385'HTTP/1.1'
1386
1387SERVER_SOFTWARE
1388
1389'WSGIServer/0.2'
1390
1391SHLVL
1392
1393'1'
1394
1395TZ
1396
1397'UTC'
1398
1399_
1400
1401'/usr/local/bin/python'
1402
1403wsgi.errors
1404
1405<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
1406
1407wsgi.file_wrapper
1408
1409<class 'wsgiref.util.FileWrapper'>
1410
1411wsgi.input
1412
1413<django.core.handlers.wsgi.LimitedStream object at 0x7f749c1d9950>
1414
1415wsgi.multiprocess
1416
1417False
1418
1419wsgi.multithread
1420
1421True
1422
1423wsgi.run_once
1424
1425False
1426
1427wsgi.url_scheme
1428
1429'http'
1430
1431wsgi.version
1432
1433(1, 0)
1434
1435Settings
1436Using settings module app.settings
1437Setting Value
1438ABSOLUTE_URL_OVERRIDES
1439
1440{}
1441
1442ADMINS
1443
1444[]
1445
1446ALLOWED_HOSTS
1447
1448['*']
1449
1450APPEND_SLASH
1451
1452True
1453
1454AUTHENTICATION_BACKENDS
1455
1456['django.contrib.auth.backends.ModelBackend',
1457 'apps.staff.authentication.EmailBackend']
1458
1459AUTH_PASSWORD_VALIDATORS
1460
1461'********************'
1462
1463AUTH_USER_MODEL
1464
1465'staff.User'
1466
1467BASE_DIR
1468
1469PosixPath('/code/server/app/settings/default.py')
1470
1471BASE_ROOT
1472
1473PosixPath('/code/server/app')
1474
1475CACHES
1476
1477{'default': {'BACKEND': 'django_redis.cache.RedisCache',
1478 'LOCATION': 'redis://cache:6379'}}
1479
1480CACHE_MIDDLEWARE_ALIAS
1481
1482'default'
1483
1484CACHE_MIDDLEWARE_KEY_PREFIX
1485
1486'********************'
1487
1488CACHE_MIDDLEWARE_SECONDS
1489
1490600
1491
1492CELERY_BROKER_URL
1493
1494'redis://cache:6379/1'
1495
1496CKEDITOR_CONFIGS
1497
1498{'default': {'extraPlugins': 'uploadimage,div,autolink,autoembed,embedsemantic,autogrow,widget,lineutils,clipboard,dialog,dialogui,elementspath',
1499 'skin': 'moono',
1500 'tabSpaces': 4,
1501 'toolbar': 'YourCustomToolbarConfig',
1502 'toolbar_Basic': [['Source', '-', 'Bold', 'Italic']],
1503 'toolbar_YourCustomToolbarConfig': [{'items': ['Source',
1504 '-',
1505 'Save',
1506 'NewPage',
1507 'Preview',
1508 'Print',
1509 '-',
1510 'Templates'],
1511 'name': 'document'},
1512 {'items': ['Cut',
1513 'Copy',
1514 'Paste',
1515 'PasteText',
1516 'PasteFromWord',
1517 '-',
1518 'Undo',
1519 'Redo'],
1520 'name': 'clipboard'},
1521 {'items': ['Find',
1522 'Replace',
1523 '-',
1524 'SelectAll'],
1525 'name': 'editing'},
1526 {'items': ['Form',
1527 'Checkbox',
1528 'Radio',
1529 'TextField',
1530 'Textarea',
1531 'Select',
1532 'Button',
1533 'ImageButton',
1534 'HiddenField'],
1535 'name': 'forms'},
1536 '/',
1537 {'items': ['Bold',
1538 'Italic',
1539 'Underline',
1540 'Strike',
1541 'Subscript',
1542 'Superscript',
1543 '-',
1544 'RemoveFormat'],
1545 'name': 'basicstyles'},
1546 {'items': ['NumberedList',
1547 'BulletedList',
1548 '-',
1549 'Outdent',
1550 'Indent',
1551 '-',
1552 'Blockquote',
1553 'CreateDiv',
1554 '-',
1555 'JustifyLeft',
1556 'JustifyCenter',
1557 'JustifyRight',
1558 'JustifyBlock',
1559 '-',
1560 'BidiLtr',
1561 'BidiRtl',
1562 'Language'],
1563 'name': 'paragraph'},
1564 {'items': ['Link',
1565 'Unlink',
1566 'Anchor'],
1567 'name': 'links'},
1568 {'items': ['Image',
1569 'Flash',
1570 'Table',
1571 'HorizontalRule',
1572 'Smiley',
1573 'SpecialChar',
1574 'PageBreak',
1575 'Iframe'],
1576 'name': 'insert'},
1577 '/',
1578 {'items': ['Styles',
1579 'Format',
1580 'Font',
1581 'FontSize'],
1582 'name': 'styles'},
1583 {'items': ['TextColor',
1584 'BGColor'],
1585 'name': 'colors'},
1586 {'items': ['Maximize',
1587 'ShowBlocks'],
1588 'name': 'tools'},
1589 {'items': ['About'],
1590 'name': 'about'},
1591 '/',
1592 {'items': ['Preview',
1593 'Maximize'],
1594 'name': 'yourcustomtools'}]}}
1595
1596CKEDITOR_UPLOAD_PATH
1597
1598'uploads/'
1599
1600CSRF_COOKIE_AGE
1601
160231449600
1603
1604CSRF_COOKIE_DOMAIN
1605
1606None
1607
1608CSRF_COOKIE_HTTPONLY
1609
1610False
1611
1612CSRF_COOKIE_NAME
1613
1614'csrftoken'
1615
1616CSRF_COOKIE_PATH
1617
1618'/'
1619
1620CSRF_COOKIE_SAMESITE
1621
1622'Lax'
1623
1624CSRF_COOKIE_SECURE
1625
1626False
1627
1628CSRF_FAILURE_VIEW
1629
1630'django.views.csrf.csrf_failure'
1631
1632CSRF_HEADER_NAME
1633
1634'HTTP_X_CSRFTOKEN'
1635
1636CSRF_TRUSTED_ORIGINS
1637
1638[]
1639
1640CSRF_USE_SESSIONS
1641
1642False
1643
1644DATABASES
1645
1646{'default': {'ATOMIC_REQUESTS': False,
1647 'AUTOCOMMIT': True,
1648 'CONN_MAX_AGE': 0,
1649 'ENGINE': 'django.contrib.gis.db.backends.postgis',
1650 'HOST': 'db',
1651 'NAME': 'db',
1652 'OPTIONS': {},
1653 'PASSWORD': '********************',
1654 'PORT': 5432,
1655 'TEST': {'CHARSET': None,
1656 'COLLATION': None,
1657 'MIGRATE': True,
1658 'MIRROR': None,
1659 'NAME': None},
1660 'TIME_ZONE': None,
1661 'USER': 'postgres'}}
1662
1663DATABASE_ROUTERS
1664
1665[]
1666
1667DATA_UPLOAD_MAX_MEMORY_SIZE
1668
16692621440
1670
1671DATA_UPLOAD_MAX_NUMBER_FIELDS
1672
16731000
1674
1675DATETIME_FORMAT
1676
1677'N j, Y, P'
1678
1679DATETIME_INPUT_FORMATS
1680
1681['%Y-%m-%d %H:%M:%S',
1682 '%Y-%m-%d %H:%M:%S.%f',
1683 '%Y-%m-%d %H:%M',
1684 '%m/%d/%Y %H:%M:%S',
1685 '%m/%d/%Y %H:%M:%S.%f',
1686 '%m/%d/%Y %H:%M',
1687 '%m/%d/%y %H:%M:%S',
1688 '%m/%d/%y %H:%M:%S.%f',
1689 '%m/%d/%y %H:%M']
1690
1691DATE_FORMAT
1692
1693'N j, Y'
1694
1695DATE_INPUT_FORMATS
1696
1697['%Y-%m-%d',
1698 '%m/%d/%Y',
1699 '%m/%d/%y',
1700 '%b %d %Y',
1701 '%b %d, %Y',
1702 '%d %b %Y',
1703 '%d %b, %Y',
1704 '%B %d %Y',
1705 '%B %d, %Y',
1706 '%d %B %Y',
1707 '%d %B, %Y']
1708
1709DEBUG
1710
1711True
1712
1713DEBUG_PROPAGATE_EXCEPTIONS
1714
1715False
1716
1717DECIMAL_SEPARATOR
1718
1719'.'
1720
1721DEFAULT_CHARSET
1722
1723'utf-8'
1724
1725DEFAULT_EXCEPTION_REPORTER
1726
1727'django.views.debug.ExceptionReporter'
1728
1729DEFAULT_EXCEPTION_REPORTER_FILTER
1730
1731'django.views.debug.SafeExceptionReporterFilter'
1732
1733DEFAULT_EXTENSIONS
1734
1735['jinja2.ext.do',
1736 'jinja2.ext.loopcontrols',
1737 'jinja2.ext.with_',
1738 'jinja2.ext.i18n',
1739 'jinja2.ext.autoescape',
1740 'django_jinja.builtins.extensions.DebugExtension',
1741 'django_jinja.builtins.extensions.CsrfExtension',
1742 'django_jinja.builtins.extensions.CacheExtension',
1743 'django_jinja.builtins.extensions.TimezoneExtension',
1744 'django_jinja.builtins.extensions.UrlsExtension',
1745 'django_jinja.builtins.extensions.StaticFilesExtension',
1746 'django_jinja.builtins.extensions.DjangoFiltersExtension']
1747
1748DEFAULT_FILE_STORAGE
1749
1750'django.core.files.storage.FileSystemStorage'
1751
1752DEFAULT_FROM_EMAIL
1753
1754'webmaster@localhost'
1755
1756DEFAULT_HASHING_ALGORITHM
1757
1758'sha256'
1759
1760DEFAULT_INDEX_TABLESPACE
1761
1762''
1763
1764DEFAULT_TABLESPACE
1765
1766''
1767
1768DISALLOWED_USER_AGENTS
1769
1770[]
1771
1772DJANGO_SHOP_CART
1773
1774{'CART_ITEM_SERIALIZERS': {'apps.shop.models.Product': 'apps.shop.serializers.CartProductSerializer'}}
1775
1776DRF_RECAPTCHA_SECRET_KEY
1777
1778'********************'
1779
1780EMAIL_BACKEND
1781
1782'des.backends.ConfiguredEmailBackend'
1783
1784EMAIL_HOST
1785
1786'localhost'
1787
1788EMAIL_HOST_PASSWORD
1789
1790'********************'
1791
1792EMAIL_HOST_USER
1793
1794''
1795
1796EMAIL_PORT
1797
179825
1799
1800EMAIL_SSL_CERTFILE
1801
1802None
1803
1804EMAIL_SSL_KEYFILE
1805
1806'********************'
1807
1808EMAIL_SUBJECT_PREFIX
1809
1810'[Django] '
1811
1812EMAIL_TIMEOUT
1813
1814None
1815
1816EMAIL_USE_LOCALTIME
1817
1818False
1819
1820EMAIL_USE_SSL
1821
1822False
1823
1824EMAIL_USE_TLS
1825
1826False
1827
1828FILE_UPLOAD_DIRECTORY_PERMISSIONS
1829
1830None
1831
1832FILE_UPLOAD_HANDLERS
1833
1834['django.core.files.uploadhandler.MemoryFileUploadHandler',
1835 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
1836
1837FILE_UPLOAD_MAX_MEMORY_SIZE
1838
18392621440
1840
1841FILE_UPLOAD_PERMISSIONS
1842
1843420
1844
1845FILE_UPLOAD_TEMP_DIR
1846
1847None
1848
1849FIRST_DAY_OF_WEEK
1850
18510
1852
1853FIXTURE_DIRS
1854
1855[]
1856
1857FORCE_SCRIPT_NAME
1858
1859None
1860
1861FORMAT_MODULE_PATH
1862
1863None
1864
1865FORM_RENDERER
1866
1867'django.forms.renderers.DjangoTemplates'
1868
1869FTP_AVAILABILITY_DOWNLOAD
1870
1871PosixPath('/code/server/app/uploads')
1872
1873FTP_AVAILABILITY_FILE
1874
1875'Pneumat_Item_Availability.csv'
1876
1877FTP_AVAILABILITY_HOST
1878
1879''
1880
1881FTP_AVAILABILITY_PASSWORD
1882
1883'********************'
1884
1885FTP_AVAILABILITY_PATH
1886
1887'Pneumat_Item_Availability'
1888
1889FTP_AVAILABILITY_PORT
1890
1891''
1892
1893FTP_AVAILABILITY_USER
1894
1895''
1896
1897FULLTEXT_LANGUAGES
1898
1899{'ru': 'russian', 'uk': 'ukrainian'}
1900
1901GUNICORN_PID
1902
1903'pnev.pid'
1904
1905HUEY
1906
1907{'huey_class': 'huey.RedisHuey',
1908 'immediate': False,
1909 'name': 'db',
1910 'results': True,
1911 'store_none': False,
1912 'url': 'redis://cache:6379',
1913 'utc': True}
1914
1915IGNORABLE_404_URLS
1916
1917[]
1918
1919IMPORT_UPLOADS_BASE_URL
1920
1921'http://165.22.80.47/uploads'
1922
1923INSTALLED_APPS
1924
1925['markup',
1926 'shared',
1927 'apps.importer',
1928 'apps.staff',
1929 'apps.shop',
1930 'apps.novaposhta',
1931 'apps.news',
1932 'apps.streamblocks',
1933 'apps.pages',
1934 'apps.menu',
1935 'apps.contacts',
1936 'apps.reviews',
1937 'apps.settings',
1938 'apps.wishlist',
1939 'apps.comparison',
1940 'apps.checkout',
1941 'apps.export',
1942 'jet',
1943 'seo',
1944 'rosetta',
1945 'rest_framework',
1946 'django_filters',
1947 'standards',
1948 'mptt',
1949 'django_jinja',
1950 'solo',
1951 'adminsortable2',
1952 'drf_recaptcha',
1953 'drf_yasg',
1954 'postie',
1955 'parler',
1956 'codemirror2',
1957 'ckeditor',
1958 'ckeditor_uploader',
1959 'des',
1960 'vuejs_translate',
1961 'modeltranslation',
1962 'streamfield',
1963 'mapwidgets',
1964 'jsoneditor',
1965 'import_export',
1966 'qsessions',
1967 'robots',
1968 'rest_framework_tracking',
1969 'cy_cart',
1970 'cy_cart.integrations.django',
1971 'dj_template_admin_urls',
1972 'django_business_days',
1973 'ok_redirects',
1974 'huey.contrib.djhuey',
1975 'django.contrib.gis',
1976 'django.contrib.admin',
1977 'django.contrib.auth',
1978 'django.contrib.contenttypes',
1979 'django.contrib.sessions',
1980 'django.contrib.messages',
1981 'django.contrib.staticfiles',
1982 'django.contrib.sites']
1983
1984INTERNAL_IPS
1985
1986[]
1987
1988JET_SIDE_MENU_COMPACT
1989
1990True
1991
1992LANGUAGES
1993
1994(('ru', 'Русский'), ('uk', 'Украинский'))
1995
1996LANGUAGES_BIDI
1997
1998['he', 'ar', 'ar-dz', 'fa', 'ur']
1999
2000LANGUAGE_CODE
2001
2002'ru'
2003
2004LANGUAGE_COOKIE_AGE
2005
2006None
2007
2008LANGUAGE_COOKIE_DOMAIN
2009
2010None
2011
2012LANGUAGE_COOKIE_HTTPONLY
2013
2014False
2015
2016LANGUAGE_COOKIE_NAME
2017
2018'django_language'
2019
2020LANGUAGE_COOKIE_PATH
2021
2022'/'
2023
2024LANGUAGE_COOKIE_SAMESITE
2025
2026None
2027
2028LANGUAGE_COOKIE_SECURE
2029
2030False
2031
2032LOCALE_PATHS
2033
2034(PosixPath('/code/server/app/locale'),)
2035
2036LOGGING
2037
2038{}
2039
2040LOGGING_CONFIG
2041
2042'logging.config.dictConfig'
2043
2044LOGIN_REDIRECT_URL
2045
2046'/accounts/profile/'
2047
2048LOGIN_URL
2049
2050'/auth/login/'
2051
2052LOGOUT_REDIRECT_URL
2053
2054'/'
2055
2056MANAGERS
2057
2058[]
2059
2060MAP_WIDGETS
2061
2062{'GOOGLE_MAP_API_KEY': '********************'}
2063
2064MEDIA_ROOT
2065
2066PosixPath('/code/server/app/uploads')
2067
2068MEDIA_URL
2069
2070'/uploads/'
2071
2072MESSAGE_STORAGE
2073
2074'django.contrib.messages.storage.fallback.FallbackStorage'
2075
2076MIDDLEWARE
2077
2078['django.middleware.security.SecurityMiddleware',
2079 'qsessions.middleware.SessionMiddleware',
2080 'django_session_timeout.middleware.SessionTimeoutMiddleware',
2081 'django.middleware.locale.LocaleMiddleware',
2082 'django.middleware.common.CommonMiddleware',
2083 'django.middleware.csrf.CsrfViewMiddleware',
2084 'django.contrib.auth.middleware.AuthenticationMiddleware',
2085 'django.contrib.messages.middleware.MessageMiddleware',
2086 'django.middleware.clickjacking.XFrameOptionsMiddleware',
2087 'ok_redirects.middleware.RedirectMiddleware']
2088
2089MIGRATION_MODULES
2090
2091{}
2092
2093MODELTRANSLATION_CUSTOM_FIELDS
2094
2095('JSONField', 'SearchVectorField')
2096
2097MODELTRANSLATION_DEFAULT_LANGUAGE
2098
2099'uk'
2100
2101MODELTRANSLATION_FALLBACK_LANGUAGES
2102
2103('ru', 'uk', 'pl')
2104
2105MODELTRANSLATION_LANGUAGES
2106
2107('pl', 'uk', 'ru')
2108
2109MONTH_DAY_FORMAT
2110
2111'F j'
2112
2113NUMBER_GROUPING
2114
21150
2116
2117PASSWORD_HASHERS
2118
2119'********************'
2120
2121PASSWORD_RESET_TIMEOUT
2122
2123'********************'
2124
2125PASSWORD_RESET_TIMEOUT_DAYS
2126
2127'********************'
2128
2129POSTIE_INSTANT_SEND
2130
2131False
2132
2133POSTIE_TEMPLATE_CHOICES
2134
2135(('confirm_email', 'Confirm email'),
2136 ('admin_new_user', 'Admin check new user'),
2137 ('user_refusal_registration', 'User account refusal registration'),
2138 ('password_reset', 'User password reset'),
2139 ('callback_email', 'Обратная связь'),
2140 ('callback_phone', 'Перезвонить сотруднику'),
2141 ('callback', 'Перезвонить'),
2142 ('new_request', 'New request'),
2143 ('new_question', 'New question'),
2144 ('new_contact_request', 'New contact request'))
2145
2146POSTIE_TEMPLATE_CONTEXTS
2147
2148{'admin_new_user': {'email': 'User email', 'url': 'Admin new user'},
2149 'callback': {'admin_url': 'ссылка на вопрос пользователя в админ-панели',
2150 'message': 'User message',
2151 'name': 'User name',
2152 'phone': 'User phone'},
2153 'callback_email': {'email': 'User email', 'employee': 'Employee username'},
2154 'callback_phone': {'email': 'User phone', 'employee': 'Employee username'},
2155 'confirm_email': {'email': 'User email', 'url': 'Confirmation email url'},
2156 'new_contact_request': {'admin_url': 'ссылка на запрос пользователя в админ-панели',
2157 'comment': 'вопрос',
2158 'email': 'Адрес электронной почты',
2159 'phone': 'Номер телефона',
2160 'username': 'ФИО'},
2161 'new_question': {'admin_url': 'ссылка на вопрос пользователя в админ-панели',
2162 'email': 'Адрес электронной почты',
2163 'phone': 'Номер телефона',
2164 'question': 'вопрос',
2165 'username': 'ФИО'},
2166 'new_request': {'code': 'Код товара',
2167 'comment': 'Комментарий пользователя',
2168 'email': 'Адрес электронной почты',
2169 'itn': 'ИНН',
2170 'phone': 'Номер телефона',
2171 'username': 'Имя и фамилия'},
2172 'password_reset': '********************',
2173 'user_refusal_registration': {'email': 'User email',
2174 'reason': 'User registration refusal reason'}}
2175
2176PREPEND_WWW
2177
2178False
2179
2180PROJECT_APPS
2181
2182['markup',
2183 'shared',
2184 'apps.importer',
2185 'apps.staff',
2186 'apps.shop',
2187 'apps.novaposhta',
2188 'apps.news',
2189 'apps.streamblocks',
2190 'apps.pages',
2191 'apps.menu',
2192 'apps.contacts',
2193 'apps.reviews',
2194 'apps.settings',
2195 'apps.wishlist',
2196 'apps.comparison',
2197 'apps.checkout',
2198 'apps.export']
2199
2200PXD_CANNED_CACHE
2201
2202{'UPDATE_TASK_LOCATION': 'shared.tasks.update_cache_task'}
2203
2204REST_FRAMEWORK
2205
2206{'DEFAULT_METADATA_CLASS': 'standards.drf.metadata.FieldsetMetadata',
2207 'DEFAULT_PARSER_CLASSES': ('djangorestframework_camel_case.parser.CamelCaseJSONParser',
2208 'djangorestframework_camel_case.parser.CamelCaseFormParser',
2209 'djangorestframework_camel_case.parser.CamelCaseMultiPartParser'),
2210 'DEFAULT_RENDERER_CLASSES': ('djangorestframework_camel_case.render.CamelCaseJSONRenderer',
2211 'djangorestframework_camel_case.render.CamelCaseBrowsableAPIRenderer'),
2212 'EXCEPTION_HANDLER': 'standards.drf.handlers.exception_handler'}
2213
2214ROOT_URLCONF
2215
2216'app.urls'
2217
2218ROSETTA_SHOW_AT_ADMIN_PANEL
2219
2220True
2221
2222SECRET_KEY
2223
2224'********************'
2225
2226SECURE_BROWSER_XSS_FILTER
2227
2228False
2229
2230SECURE_CONTENT_TYPE_NOSNIFF
2231
2232True
2233
2234SECURE_HSTS_INCLUDE_SUBDOMAINS
2235
2236False
2237
2238SECURE_HSTS_PRELOAD
2239
2240False
2241
2242SECURE_HSTS_SECONDS
2243
22440
2245
2246SECURE_PROXY_SSL_HEADER
2247
2248None
2249
2250SECURE_REDIRECT_EXEMPT
2251
2252[]
2253
2254SECURE_REFERRER_POLICY
2255
2256'same-origin'
2257
2258SECURE_SSL_HOST
2259
2260None
2261
2262SECURE_SSL_REDIRECT
2263
2264False
2265
2266SEO_HTML_ADMIN_WIDGET
2267
2268{'widget': 'CKEditorUploadingWidget',
2269 'widget_path': 'ckeditor_uploader.widgets'}
2270
2271SEO_MODELS
2272
2273['shop.Category',
2274 'shop.Product',
2275 'shop.ProductGroup',
2276 'news.Category',
2277 'news.News',
2278 'pages.Page',
2279 'pages.FAQPage',
2280 'pages.Index',
2281 'pages.HistoryPage',
2282 'pages.FilesPage',
2283 'pages.TechnologicalPage',
2284 'pages.ContactsPage',
2285 'pages.MediaPage',
2286 'pages.AwardsPage']
2287
2288SEO_VIEWS_CHOICES
2289
2290(('news', 'News index'),)
2291
2292SEO_VIEWS_CONTEXT_NAME
2293
2294'instance_seo'
2295
2296SERVER_EMAIL
2297
2298'root@localhost'
2299
2300SESSION_CACHE_ALIAS
2301
2302'default'
2303
2304SESSION_COOKIE_AGE
2305
23061209600
2307
2308SESSION_COOKIE_DOMAIN
2309
2310None
2311
2312SESSION_COOKIE_HTTPONLY
2313
2314True
2315
2316SESSION_COOKIE_NAME
2317
2318'sessionid'
2319
2320SESSION_COOKIE_PATH
2321
2322'/'
2323
2324SESSION_COOKIE_SAMESITE
2325
2326'Lax'
2327
2328SESSION_COOKIE_SECURE
2329
2330False
2331
2332SESSION_ENGINE
2333
2334'qsessions.backends.cached_db'
2335
2336SESSION_EXPIRE_AFTER_LAST_ACTIVITY
2337
2338True
2339
2340SESSION_EXPIRE_AT_BROWSER_CLOSE
2341
2342False
2343
2344SESSION_EXPIRE_SECONDS
2345
23463600
2347
2348SESSION_FILE_PATH
2349
2350None
2351
2352SESSION_SAVE_EVERY_REQUEST
2353
2354False
2355
2356SESSION_SERIALIZER
2357
2358'django.contrib.sessions.serializers.JSONSerializer'
2359
2360SESSION_TIMEOUT_TO_REDIRECT
2361
2362False
2363
2364SETTINGS_MODULE
2365
2366'app.settings'
2367
2368SHORT_DATETIME_FORMAT
2369
2370'm/d/Y P'
2371
2372SHORT_DATE_FORMAT
2373
2374'm/d/Y'
2375
2376SIGNING_BACKEND
2377
2378'django.core.signing.TimestampSigner'
2379
2380SILENCED_SYSTEM_CHECKS
2381
2382[]
2383
2384SITE_ID
2385
23861
2387
2388SOLO_CACHE
2389
2390'default'
2391
2392STATICFILES_DIRS
2393
2394[]
2395
2396STATICFILES_FINDERS
2397
2398['django.contrib.staticfiles.finders.FileSystemFinder',
2399 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
2400
2401STATICFILES_STORAGE
2402
2403'django.contrib.staticfiles.storage.StaticFilesStorage'
2404
2405STATIC_ROOT
2406
2407PosixPath('/code/server/app/static')
2408
2409STATIC_URL
2410
2411'/static/'
2412
2413STREAMFIELD_STREAMBLOCKS_APP_PATH
2414
2415'apps.streamblocks'
2416
2417SWAGGER_SETTINGS
2418
2419{'DEFAULT_PAGINATOR_INSPECTORS': ['shared.inspectors.StandardsPaginatorInspector',
2420 'drf_yasg.inspectors.DjangoRestResponsePagination',
2421 'drf_yasg.inspectors.CoreAPICompatInspector'],
2422 'SECURITY_DEFINITIONS': {'Bearer': {'in': 'header',
2423 'name': 'EXPORT-KEY',
2424 'type': 'apiKey'}}}
2425
2426TEMPLATES
2427
2428[{'APP_DIRS': True,
2429 'BACKEND': 'django_jinja.backend.Jinja2',
2430 'DIRS': [],
2431 'NAME': 'jinja2',
2432 'OPTIONS': {'auto_reload': True,
2433 'bytecode_cache': {'backend': 'django_jinja.cache.BytecodeCache',
2434 'enabled': True,
2435 'name': 'default'},
2436 'context_processors': ['django.contrib.auth.context_processors.auth',
2437 'django.template.context_processors.debug',
2438 'django.template.context_processors.i18n',
2439 'django.template.context_processors.media',
2440 'django.template.context_processors.static',
2441 'django.template.context_processors.tz',
2442 'django.contrib.messages.context_processors.messages',
2443 'seo.context_processors.seo'],
2444 'debug': True,
2445 'environment': 'shared.env.jinja2.environment',
2446 'extensions': ['jinja2.ext.do',
2447 'jinja2.ext.loopcontrols',
2448 'jinja2.ext.with_',
2449 'jinja2.ext.i18n',
2450 'jinja2.ext.autoescape',
2451 'django_jinja.builtins.extensions.DebugExtension',
2452 'django_jinja.builtins.extensions.CsrfExtension',
2453 'django_jinja.builtins.extensions.CacheExtension',
2454 'django_jinja.builtins.extensions.TimezoneExtension',
2455 'django_jinja.builtins.extensions.UrlsExtension',
2456 'django_jinja.builtins.extensions.StaticFilesExtension',
2457 'django_jinja.builtins.extensions.DjangoFiltersExtension'],
2458 'filters': {},
2459 'globals': {},
2460 'match_extension': '.jinja',
2461 'newstyle_gettext': True,
2462 'undefined': <class 'jinja2.runtime.Undefined'>}},
2463 {'APP_DIRS': True,
2464 'BACKEND': 'django.template.backends.django.DjangoTemplates',
2465 'DIRS': [],
2466 'OPTIONS': {'context_processors': ['django.template.context_processors.media',
2467 'django.template.context_processors.static',
2468 'django.template.context_processors.debug',
2469 'django.template.context_processors.request',
2470 'django.contrib.messages.context_processors.messages',
2471 'django.contrib.auth.context_processors.auth',
2472 'seo.context_processors.seo']}}]
2473
2474TEST_NON_SERIALIZED_APPS
2475
2476[]
2477
2478TEST_RUNNER
2479
2480'django.test.runner.DiscoverRunner'
2481
2482THOUSAND_SEPARATOR
2483
2484','
2485
2486TIME_FORMAT
2487
2488'P'
2489
2490TIME_INPUT_FORMATS
2491
2492['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
2493
2494TIME_ZONE
2495
2496'UTC'
2497
2498USE_I18N
2499
2500True
2501
2502USE_L10N
2503
2504True
2505
2506USE_THOUSAND_SEPARATOR
2507
2508False
2509
2510USE_TZ
2511
2512True
2513
2514USE_X_FORWARDED_HOST
2515
2516False
2517
2518USE_X_FORWARDED_PORT
2519
2520False
2521
2522WSGI_APPLICATION
2523
2524'app.wsgi.application'
2525
2526X_FRAME_OPTIONS
2527
2528'DENY'
2529
2530YEAR_MONTH_FORMAT
2531
2532'F Y'
2533
2534You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.
2535