· 4 years ago · Jul 08, 2021, 01:32 PM
1NameError at /api/v1/announcement/create/
2name 'config' is not defined
3Request Method: POST
4Request URL: https://kupipai.webcase-dev.com/api/v1/announcement/create/
5Django Version: 3.2.5
6Exception Type: NameError
7Exception Value:
8name 'config' is not defined
9Exception Location: /home/kupipai/kupipai/kupipai/server/apps/announcements/api/serializers/announcements.py, line 206, in validate
10Python Executable: /home/kupipai/kupipai/kupipai/server/.venv/bin/python
11Python Version: 3.8.10
12Python Path:
13['/home/kupipai/kupipai/kupipai/server',
14 '/home/kupipai/kupipai/kupipai/server/.venv/bin',
15 '/usr/lib/python38.zip',
16 '/usr/lib/python3.8',
17 '/usr/lib/python3.8/lib-dynload',
18 '/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages']
19Server time: Thu, 08 Jul 2021 16:25:24 +0300
20Traceback Switch to copy-and-paste view
21/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/django/core/handlers/exception.py, line 47, in inner
22 response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
23 return response
24 return inner
25 else:
26 @wraps(get_response)
27 def inner(request):
28 try:
29 response = get_response(request) …
30 except Exception as exc:
31 response = response_for_exception(request, exc)
32 return response
33 return inner
34▶ Local vars
35Variable Value
36exc
37NameError("name 'config' is not defined")
38get_response
39<bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f39ce3aa9d0>>
40request
41<WSGIRequest: POST '/api/v1/announcement/create/'>
42/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/django/core/handlers/base.py, line 181, in _get_response
43 if response is None:
44 wrapped_callback = self.make_view_atomic(callback)
45 # If it is an asynchronous view, run it in a subthread.
46 if asyncio.iscoroutinefunction(wrapped_callback):
47 wrapped_callback = async_to_sync(wrapped_callback)
48 try:
49 response = wrapped_callback(request, *callback_args, **callback_kwargs) …
50 except Exception as e:
51 response = self.process_exception_by_middleware(e, request)
52 if response is None:
53 raise
54 # Complain if the view returned None (a common error).
55▶ Local vars
56Variable Value
57callback
58<function AnnouncementCreateAPIView at 0x7f39c6852700>
59callback_args
60()
61callback_kwargs
62{}
63middleware_method
64<bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f39c74a3970>>
65request
66<WSGIRequest: POST '/api/v1/announcement/create/'>
67response
68None
69self
70<django.core.handlers.wsgi.WSGIHandler object at 0x7f39ce3aa9d0>
71wrapped_callback
72<function AnnouncementCreateAPIView at 0x7f39c6852700>
73/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/django/views/decorators/csrf.py, line 54, in wrapped_view
74def csrf_exempt(view_func):
75 """Mark a view function as being exempt from the CSRF view protection."""
76 # view_func.csrf_exempt = True would also work, but decorators are nicer
77 # if they don't have side effects, so return a new function.
78 def wrapped_view(*args, **kwargs):
79 return view_func(*args, **kwargs) …
80 wrapped_view.csrf_exempt = True
81 return wraps(view_func)(wrapped_view)
82▶ Local vars
83Variable Value
84args
85(<WSGIRequest: POST '/api/v1/announcement/create/'>,)
86kwargs
87{}
88view_func
89<function AnnouncementCreateAPIView at 0x7f39c6852670>
90/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/django/views/generic/base.py, line 70, in view
91 self = cls(**initkwargs)
92 self.setup(request, *args, **kwargs)
93 if not hasattr(self, 'request'):
94 raise AttributeError(
95 "%s instance has no 'request' attribute. Did you override "
96 "setup() and forget to call super()?" % cls.__name__
97 )
98 return self.dispatch(request, *args, **kwargs) …
99 view.view_class = cls
100 view.view_initkwargs = initkwargs
101 # take name and docstring from class
102 update_wrapper(view, cls, updated=())
103▶ Local vars
104Variable Value
105args
106()
107cls
108<class 'apps.announcements.api.views.announcements.AnnouncementCreateAPIView'>
109initkwargs
110{}
111kwargs
112{}
113request
114<WSGIRequest: POST '/api/v1/announcement/create/'>
115self
116<apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>
117/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/views.py, line 509, in dispatch
118 self.http_method_not_allowed)
119 else:
120 handler = self.http_method_not_allowed
121 response = handler(request, *args, **kwargs)
122 except Exception as exc:
123 response = self.handle_exception(exc) …
124 self.response = self.finalize_response(request, response, *args, **kwargs)
125 return self.response
126 def options(self, request, *args, **kwargs):
127 """
128▶ Local vars
129Variable Value
130args
131()
132handler
133<bound method CreateAPIView.post of <apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>>
134kwargs
135{}
136request
137<rest_framework.request.Request: POST '/api/v1/announcement/create/'>
138self
139<apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>
140/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/views.py, line 469, in handle_exception
141 exception_handler = self.get_exception_handler()
142 context = self.get_exception_handler_context()
143 response = exception_handler(exc, context)
144 if response is None:
145 self.raise_uncaught_exception(exc) …
146 response.exception = True
147 return response
148 def raise_uncaught_exception(self, exc):
149 if settings.DEBUG:
150▶ Local vars
151Variable Value
152context
153{'args': (),
154 'kwargs': {},
155 'request': <rest_framework.request.Request: POST '/api/v1/announcement/create/'>,
156 'view': <apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>}
157exc
158NameError("name 'config' is not defined")
159exception_handler
160<standards.drf.handlers.ExceptionHandler object at 0x7f39c19ca190>
161response
162None
163self
164<apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>
165/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/views.py, line 480, in raise_uncaught_exception
166 def raise_uncaught_exception(self, exc):
167 if settings.DEBUG:
168 request = self.request
169 renderer_format = getattr(request.accepted_renderer, 'format')
170 use_plaintext_traceback = renderer_format not in ('html', 'api', 'admin')
171 request.force_plaintext_errors(use_plaintext_traceback)
172 raise exc …
173 # Note: Views are made CSRF exempt from within `as_view` as to prevent
174 # accidental removal of this exemption in cases where `dispatch` needs to
175 # be overridden.
176 def dispatch(self, request, *args, **kwargs):
177 """
178▶ Local vars
179Variable Value
180exc
181NameError("name 'config' is not defined")
182renderer_format
183'json'
184request
185<rest_framework.request.Request: POST '/api/v1/announcement/create/'>
186self
187<apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>
188use_plaintext_traceback
189True
190/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/views.py, line 506, in dispatch
191 # Get the appropriate handler method
192 if request.method.lower() in self.http_method_names:
193 handler = getattr(self, request.method.lower(),
194 self.http_method_not_allowed)
195 else:
196 handler = self.http_method_not_allowed
197 response = handler(request, *args, **kwargs) …
198 except Exception as exc:
199 response = self.handle_exception(exc)
200 self.response = self.finalize_response(request, response, *args, **kwargs)
201 return self.response
202▶ Local vars
203Variable Value
204args
205()
206handler
207<bound method CreateAPIView.post of <apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>>
208kwargs
209{}
210request
211<rest_framework.request.Request: POST '/api/v1/announcement/create/'>
212self
213<apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>
214/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/generics.py, line 190, in post
215class CreateAPIView(mixins.CreateModelMixin,
216 GenericAPIView):
217 """
218 Concrete view for creating a model instance.
219 """
220 def post(self, request, *args, **kwargs):
221 return self.create(request, *args, **kwargs) …
222class ListAPIView(mixins.ListModelMixin,
223 GenericAPIView):
224 """
225 Concrete view for listing a queryset.
226▶ Local vars
227Variable Value
228args
229()
230kwargs
231{}
232request
233<rest_framework.request.Request: POST '/api/v1/announcement/create/'>
234self
235<apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>
236/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/mixins.py, line 18, in create
237class CreateModelMixin:
238 """
239 Create a model instance.
240 """
241 def create(self, request, *args, **kwargs):
242 serializer = self.get_serializer(data=request.data)
243 serializer.is_valid(raise_exception=True) …
244 self.perform_create(serializer)
245 headers = self.get_success_headers(serializer.data)
246 return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
247 def perform_create(self, serializer):
248 serializer.save()
249▶ Local vars
250Variable Value
251args
252()
253kwargs
254{}
255request
256<rest_framework.request.Request: POST '/api/v1/announcement/create/'>
257self
258<apps.announcements.api.views.announcements.AnnouncementCreateAPIView object at 0x7f39c1003dc0>
259serializer
260AnnouncementCRUDSerializer(context={'request': <rest_framework.request.Request: POST '/api/v1/announcement/create/'>, 'format': None, 'view': <apps.announcements.api.views.announcements.AnnouncementCreateAPIView object>, 'owner': None}, data={'currency': 'UAH', 'price': '11111', 'price_usd': '408', 'price_eur': '344', 'price_uah': 0, 'price_per_one': '36609', 'price_per_one_usd': '1343', 'price_per_one_eur': '1135', 'price_per_one_uah': 0, 'ownership': 'Приватна власність', 'purpose': 'для ведення особистого селянського господарства', 'area': '0.3035', 'area_display': '0.3035 га', 'rental_yield': '80.5', 'rent_rate': '11111', 'rent_rate_clean': '8944', 'estimate_price': 0, 'koatuu_location': 'Руськополянська, Черкаський, Черкаська, Україна', 'owner_type': 1, 'renter_type': 1, 'cadastre': '7124983000:02:004:0078', 'geo_location': 'SRID=4326;POINT (49.34761012554941 31.87784411689847)', 'geo_coordinates': [49.34761012554941, 31.87784411689847], 'geo_path': [1, 24, 158, 1835], 'owner_name': 'йцуйцу', 'owner_edrpou': '1212121111', 'renter_name': 'йцуйцу', 'renter_edrpou': '1111111111', 'description': '1111', 'rent_period': '1111', 'gallary': [], 'status': 3}):
261 id = IntegerField(label='ID', read_only=True)
262 status = ChoiceField(choices=[(1, 'Moderation'), (2, 'Processing'), (3, 'Active'), (4, 'In work'), (5, 'Closed'), (6, 'Duplicate')], validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValueValidator object>])
263 status_display = SerializerMethodField()
264 identifier = CharField(read_only=True)
265 description = CharField(allow_blank=True, allow_null=True, required=False, style={'base_template': 'textarea.html'})
266 cadastre = CharField(max_length=50)
267 currency = ChoiceField(choices=[('UAH', 'Гривня'), ('USD', 'Долар'), ('EUR', 'Евро')])
268 price = IntegerField(allow_null=False, max_value=2147483647, min_value=0, required=True)
269 base_price = IntegerField(read_only=True)
270 price_per_one = IntegerField(allow_null=False, label='Price per 1ga', max_value=2147483647, min_value=0, required=True)
271 base_price_per_one = IntegerField(label='Base price per 1ga', read_only=True)
272 estimate_price = IntegerField(max_value=2147483647, min_value=0, required=False)
273 estimate_date = DateField(allow_null=True, required=False)
274 last_rent_pay_date = DateField(allow_null=True, required=False)
275 rent_rate = IntegerField(allow_null=False, label='Rent rate (per year)', max_value=2147483647, min_value=0, required=True)
276 base_rent_rate = IntegerField(label='Base rent rate (per year)', read_only=True)
277 rent_rate_clean = IntegerField(label='Rent rate clean (per year)', read_only=True)
278 base_rent_rate_clean = IntegerField(label='Base rent rate clean (per year)', read_only=True)
279 rental_yield = DecimalField(decimal_places=1, label='Rental yield (%)', max_digits=10)
280 rent_period = CharField(max_length=250)
281 area = FloatField(allow_null=True, required=False)
282 purpose = CharField(allow_null=True, max_length=450, required=False)
283 ownership = CharField(allow_null=True, max_length=450, required=False)
284 koatuu_location = SerializerMethodField()
285 geo_path = ListField(allow_empty=False, child=IntegerField(label='Geo path', max_value=9223372036854775807, min_value=0), required=False)
286 geo_location = ModelField(model_field=<django.contrib.gis.db.models.fields.PointField: geo_location>)
287 geo_coordinates = SerializerMethodField()
288 owner_type = ChoiceField(choices=[(1, 'Фізична особа'), (2, 'Юридична особа')], required=False, validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValueValidator object>])
289 owner_edrpou = CharField(label='Owner RNOKPP/EDRPOU', max_length=50)
290 owner_name = CharField(max_length=1000)
291 renter_company = PrimaryKeyRelatedField(allow_null=True, queryset=HoldingCompany.objects.all(), required=False)
292 renter_type = ChoiceField(choices=[(1, 'Фізична особа'), (2, 'Юридична особа')], required=False, validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValue… <trimmed 4650 bytes string>
293/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/serializers.py, line 220, in is_valid
294 assert hasattr(self, 'initial_data'), (
295 'Cannot call `.is_valid()` as no `data=` keyword argument was '
296 'passed when instantiating the serializer instance.'
297 )
298 if not hasattr(self, '_validated_data'):
299 try:
300 self._validated_data = self.run_validation(self.initial_data) …
301 except ValidationError as exc:
302 self._validated_data = {}
303 self._errors = exc.detail
304 else:
305 self._errors = {}
306▶ Local vars
307Variable Value
308raise_exception
309True
310self
311AnnouncementCRUDSerializer(context={'request': <rest_framework.request.Request: POST '/api/v1/announcement/create/'>, 'format': None, 'view': <apps.announcements.api.views.announcements.AnnouncementCreateAPIView object>, 'owner': None}, data={'currency': 'UAH', 'price': '11111', 'price_usd': '408', 'price_eur': '344', 'price_uah': 0, 'price_per_one': '36609', 'price_per_one_usd': '1343', 'price_per_one_eur': '1135', 'price_per_one_uah': 0, 'ownership': 'Приватна власність', 'purpose': 'для ведення особистого селянського господарства', 'area': '0.3035', 'area_display': '0.3035 га', 'rental_yield': '80.5', 'rent_rate': '11111', 'rent_rate_clean': '8944', 'estimate_price': 0, 'koatuu_location': 'Руськополянська, Черкаський, Черкаська, Україна', 'owner_type': 1, 'renter_type': 1, 'cadastre': '7124983000:02:004:0078', 'geo_location': 'SRID=4326;POINT (49.34761012554941 31.87784411689847)', 'geo_coordinates': [49.34761012554941, 31.87784411689847], 'geo_path': [1, 24, 158, 1835], 'owner_name': 'йцуйцу', 'owner_edrpou': '1212121111', 'renter_name': 'йцуйцу', 'renter_edrpou': '1111111111', 'description': '1111', 'rent_period': '1111', 'gallary': [], 'status': 3}):
312 id = IntegerField(label='ID', read_only=True)
313 status = ChoiceField(choices=[(1, 'Moderation'), (2, 'Processing'), (3, 'Active'), (4, 'In work'), (5, 'Closed'), (6, 'Duplicate')], validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValueValidator object>])
314 status_display = SerializerMethodField()
315 identifier = CharField(read_only=True)
316 description = CharField(allow_blank=True, allow_null=True, required=False, style={'base_template': 'textarea.html'})
317 cadastre = CharField(max_length=50)
318 currency = ChoiceField(choices=[('UAH', 'Гривня'), ('USD', 'Долар'), ('EUR', 'Евро')])
319 price = IntegerField(allow_null=False, max_value=2147483647, min_value=0, required=True)
320 base_price = IntegerField(read_only=True)
321 price_per_one = IntegerField(allow_null=False, label='Price per 1ga', max_value=2147483647, min_value=0, required=True)
322 base_price_per_one = IntegerField(label='Base price per 1ga', read_only=True)
323 estimate_price = IntegerField(max_value=2147483647, min_value=0, required=False)
324 estimate_date = DateField(allow_null=True, required=False)
325 last_rent_pay_date = DateField(allow_null=True, required=False)
326 rent_rate = IntegerField(allow_null=False, label='Rent rate (per year)', max_value=2147483647, min_value=0, required=True)
327 base_rent_rate = IntegerField(label='Base rent rate (per year)', read_only=True)
328 rent_rate_clean = IntegerField(label='Rent rate clean (per year)', read_only=True)
329 base_rent_rate_clean = IntegerField(label='Base rent rate clean (per year)', read_only=True)
330 rental_yield = DecimalField(decimal_places=1, label='Rental yield (%)', max_digits=10)
331 rent_period = CharField(max_length=250)
332 area = FloatField(allow_null=True, required=False)
333 purpose = CharField(allow_null=True, max_length=450, required=False)
334 ownership = CharField(allow_null=True, max_length=450, required=False)
335 koatuu_location = SerializerMethodField()
336 geo_path = ListField(allow_empty=False, child=IntegerField(label='Geo path', max_value=9223372036854775807, min_value=0), required=False)
337 geo_location = ModelField(model_field=<django.contrib.gis.db.models.fields.PointField: geo_location>)
338 geo_coordinates = SerializerMethodField()
339 owner_type = ChoiceField(choices=[(1, 'Фізична особа'), (2, 'Юридична особа')], required=False, validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValueValidator object>])
340 owner_edrpou = CharField(label='Owner RNOKPP/EDRPOU', max_length=50)
341 owner_name = CharField(max_length=1000)
342 renter_company = PrimaryKeyRelatedField(allow_null=True, queryset=HoldingCompany.objects.all(), required=False)
343 renter_type = ChoiceField(choices=[(1, 'Фізична особа'), (2, 'Юридична особа')], required=False, validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValue… <trimmed 4650 bytes string>
344/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/serializers.py, line 422, in run_validation
345 (is_empty_value, data) = self.validate_empty_values(data)
346 if is_empty_value:
347 return data
348 value = self.to_internal_value(data)
349 try:
350 self.run_validators(value)
351 value = self.validate(value) …
352 assert value is not None, '.validate() should return the validated data'
353 except (ValidationError, DjangoValidationError) as exc:
354 raise ValidationError(detail=as_serializer_error(exc))
355 return value
356▶ Local vars
357Variable Value
358data
359{'area': '0.3035',
360 'area_display': '0.3035 га',
361 'cadastre': '7124983000:02:004:0078',
362 'currency': 'UAH',
363 'description': '1111',
364 'estimate_price': 0,
365 'gallary': [],
366 'geo_coordinates': [49.34761012554941, 31.87784411689847],
367 'geo_location': 'SRID=4326;POINT (49.34761012554941 31.87784411689847)',
368 'geo_path': [1, 24, 158, 1835],
369 'koatuu_location': 'Руськополянська, Черкаський, Черкаська, Україна',
370 'owner_edrpou': '1212121111',
371 'owner_name': 'йцуйцу',
372 'owner_type': 1,
373 'ownership': 'Приватна власність',
374 'price': '11111',
375 'price_eur': '344',
376 'price_per_one': '36609',
377 'price_per_one_eur': '1135',
378 'price_per_one_uah': 0,
379 'price_per_one_usd': '1343',
380 'price_uah': 0,
381 'price_usd': '408',
382 'purpose': 'для ведення особистого селянського господарства',
383 'rent_period': '1111',
384 'rent_rate': '11111',
385 'rent_rate_clean': '8944',
386 'rental_yield': '80.5',
387 'renter_edrpou': '1111111111',
388 'renter_name': 'йцуйцу',
389 'renter_type': 1,
390 'status': 3}
391is_empty_value
392False
393self
394AnnouncementCRUDSerializer(context={'request': <rest_framework.request.Request: POST '/api/v1/announcement/create/'>, 'format': None, 'view': <apps.announcements.api.views.announcements.AnnouncementCreateAPIView object>, 'owner': None}, data={'currency': 'UAH', 'price': '11111', 'price_usd': '408', 'price_eur': '344', 'price_uah': 0, 'price_per_one': '36609', 'price_per_one_usd': '1343', 'price_per_one_eur': '1135', 'price_per_one_uah': 0, 'ownership': 'Приватна власність', 'purpose': 'для ведення особистого селянського господарства', 'area': '0.3035', 'area_display': '0.3035 га', 'rental_yield': '80.5', 'rent_rate': '11111', 'rent_rate_clean': '8944', 'estimate_price': 0, 'koatuu_location': 'Руськополянська, Черкаський, Черкаська, Україна', 'owner_type': 1, 'renter_type': 1, 'cadastre': '7124983000:02:004:0078', 'geo_location': 'SRID=4326;POINT (49.34761012554941 31.87784411689847)', 'geo_coordinates': [49.34761012554941, 31.87784411689847], 'geo_path': [1, 24, 158, 1835], 'owner_name': 'йцуйцу', 'owner_edrpou': '1212121111', 'renter_name': 'йцуйцу', 'renter_edrpou': '1111111111', 'description': '1111', 'rent_period': '1111', 'gallary': [], 'status': 3}):
395 id = IntegerField(label='ID', read_only=True)
396 status = ChoiceField(choices=[(1, 'Moderation'), (2, 'Processing'), (3, 'Active'), (4, 'In work'), (5, 'Closed'), (6, 'Duplicate')], validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValueValidator object>])
397 status_display = SerializerMethodField()
398 identifier = CharField(read_only=True)
399 description = CharField(allow_blank=True, allow_null=True, required=False, style={'base_template': 'textarea.html'})
400 cadastre = CharField(max_length=50)
401 currency = ChoiceField(choices=[('UAH', 'Гривня'), ('USD', 'Долар'), ('EUR', 'Евро')])
402 price = IntegerField(allow_null=False, max_value=2147483647, min_value=0, required=True)
403 base_price = IntegerField(read_only=True)
404 price_per_one = IntegerField(allow_null=False, label='Price per 1ga', max_value=2147483647, min_value=0, required=True)
405 base_price_per_one = IntegerField(label='Base price per 1ga', read_only=True)
406 estimate_price = IntegerField(max_value=2147483647, min_value=0, required=False)
407 estimate_date = DateField(allow_null=True, required=False)
408 last_rent_pay_date = DateField(allow_null=True, required=False)
409 rent_rate = IntegerField(allow_null=False, label='Rent rate (per year)', max_value=2147483647, min_value=0, required=True)
410 base_rent_rate = IntegerField(label='Base rent rate (per year)', read_only=True)
411 rent_rate_clean = IntegerField(label='Rent rate clean (per year)', read_only=True)
412 base_rent_rate_clean = IntegerField(label='Base rent rate clean (per year)', read_only=True)
413 rental_yield = DecimalField(decimal_places=1, label='Rental yield (%)', max_digits=10)
414 rent_period = CharField(max_length=250)
415 area = FloatField(allow_null=True, required=False)
416 purpose = CharField(allow_null=True, max_length=450, required=False)
417 ownership = CharField(allow_null=True, max_length=450, required=False)
418 koatuu_location = SerializerMethodField()
419 geo_path = ListField(allow_empty=False, child=IntegerField(label='Geo path', max_value=9223372036854775807, min_value=0), required=False)
420 geo_location = ModelField(model_field=<django.contrib.gis.db.models.fields.PointField: geo_location>)
421 geo_coordinates = SerializerMethodField()
422 owner_type = ChoiceField(choices=[(1, 'Фізична особа'), (2, 'Юридична особа')], required=False, validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValueValidator object>])
423 owner_edrpou = CharField(label='Owner RNOKPP/EDRPOU', max_length=50)
424 owner_name = CharField(max_length=1000)
425 renter_company = PrimaryKeyRelatedField(allow_null=True, queryset=HoldingCompany.objects.all(), required=False)
426 renter_type = ChoiceField(choices=[(1, 'Фізична особа'), (2, 'Юридична особа')], required=False, validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValue… <trimmed 4650 bytes string>
427value
428OrderedDict([('status', 3),
429 ('description', '1111'),
430 ('cadastre', '7124983000:02:004:0078'),
431 ('currency', 'UAH'),
432 ('price', 11111),
433 ('price_per_one', 36609),
434 ('estimate_price', 0),
435 ('rent_rate', 11111),
436 ('rental_yield', Decimal('80.5')),
437 ('rent_period', '1111'),
438 ('area', 0.3035),
439 ('purpose', 'для ведення особистого селянського господарства'),
440 ('ownership', 'Приватна власність'),
441 ('geo_path', [1, 24, 158, 1835]),
442 ('geo_location',
443 'SRID=4326;POINT (49.34761012554941 31.87784411689847)'),
444 ('owner_type', 1),
445 ('owner_edrpou', '1212121111'),
446 ('owner_name', 'йцуйцу'),
447 ('renter_type', 1),
448 ('renter_edrpou', '1111111111'),
449 ('renter_name', 'йцуйцу'),
450 ('gallary', []),
451 ('base_price', 11111.0),
452 ('base_price_per_one', 36609.0),
453 ('base_rent_rate', 11111.0)])
454/home/kupipai/kupipai/kupipai/server/apps/announcements/api/serializers/announcements.py, line 206, in validate
455 rates.calc_base_price(rent_rate, currency)
456 if currency and rent_rate
457 else 0
458 )
459 data['rent_rate_clean'] = (
460 rates
461 .round_half_up(
462 rent_rate * (1 - config.GOV_TAXES / 100) …
463 )
464 )
465 data['base_rent_rate_clean'] = (
466 rates
467 .calc_base_price(
468 data['rent_rate_clean'],
469▶ Local vars
470Variable Value
471__class__
472<class 'apps.announcements.api.serializers.announcements.AnnouncementCRUDSerializer'>
473currency
474'uah'
475data
476OrderedDict([('status', 3),
477 ('description', '1111'),
478 ('cadastre', '7124983000:02:004:0078'),
479 ('currency', 'UAH'),
480 ('price', 11111),
481 ('price_per_one', 36609),
482 ('estimate_price', 0),
483 ('rent_rate', 11111),
484 ('rental_yield', Decimal('80.5')),
485 ('rent_period', '1111'),
486 ('area', 0.3035),
487 ('purpose', 'для ведення особистого селянського господарства'),
488 ('ownership', 'Приватна власність'),
489 ('geo_path', [1, 24, 158, 1835]),
490 ('geo_location',
491 'SRID=4326;POINT (49.34761012554941 31.87784411689847)'),
492 ('owner_type', 1),
493 ('owner_edrpou', '1212121111'),
494 ('owner_name', 'йцуйцу'),
495 ('renter_type', 1),
496 ('renter_edrpou', '1111111111'),
497 ('renter_name', 'йцуйцу'),
498 ('gallary', []),
499 ('base_price', 11111.0),
500 ('base_price_per_one', 36609.0),
501 ('base_rent_rate', 11111.0)])
502price
50311111
504price_per_one
50536609
506rent_rate
50711111
508self
509AnnouncementCRUDSerializer(context={'request': <rest_framework.request.Request: POST '/api/v1/announcement/create/'>, 'format': None, 'view': <apps.announcements.api.views.announcements.AnnouncementCreateAPIView object>, 'owner': None}, data={'currency': 'UAH', 'price': '11111', 'price_usd': '408', 'price_eur': '344', 'price_uah': 0, 'price_per_one': '36609', 'price_per_one_usd': '1343', 'price_per_one_eur': '1135', 'price_per_one_uah': 0, 'ownership': 'Приватна власність', 'purpose': 'для ведення особистого селянського господарства', 'area': '0.3035', 'area_display': '0.3035 га', 'rental_yield': '80.5', 'rent_rate': '11111', 'rent_rate_clean': '8944', 'estimate_price': 0, 'koatuu_location': 'Руськополянська, Черкаський, Черкаська, Україна', 'owner_type': 1, 'renter_type': 1, 'cadastre': '7124983000:02:004:0078', 'geo_location': 'SRID=4326;POINT (49.34761012554941 31.87784411689847)', 'geo_coordinates': [49.34761012554941, 31.87784411689847], 'geo_path': [1, 24, 158, 1835], 'owner_name': 'йцуйцу', 'owner_edrpou': '1212121111', 'renter_name': 'йцуйцу', 'renter_edrpou': '1111111111', 'description': '1111', 'rent_period': '1111', 'gallary': [], 'status': 3}):
510 id = IntegerField(label='ID', read_only=True)
511 status = ChoiceField(choices=[(1, 'Moderation'), (2, 'Processing'), (3, 'Active'), (4, 'In work'), (5, 'Closed'), (6, 'Duplicate')], validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValueValidator object>])
512 status_display = SerializerMethodField()
513 identifier = CharField(read_only=True)
514 description = CharField(allow_blank=True, allow_null=True, required=False, style={'base_template': 'textarea.html'})
515 cadastre = CharField(max_length=50)
516 currency = ChoiceField(choices=[('UAH', 'Гривня'), ('USD', 'Долар'), ('EUR', 'Евро')])
517 price = IntegerField(allow_null=False, max_value=2147483647, min_value=0, required=True)
518 base_price = IntegerField(read_only=True)
519 price_per_one = IntegerField(allow_null=False, label='Price per 1ga', max_value=2147483647, min_value=0, required=True)
520 base_price_per_one = IntegerField(label='Base price per 1ga', read_only=True)
521 estimate_price = IntegerField(max_value=2147483647, min_value=0, required=False)
522 estimate_date = DateField(allow_null=True, required=False)
523 last_rent_pay_date = DateField(allow_null=True, required=False)
524 rent_rate = IntegerField(allow_null=False, label='Rent rate (per year)', max_value=2147483647, min_value=0, required=True)
525 base_rent_rate = IntegerField(label='Base rent rate (per year)', read_only=True)
526 rent_rate_clean = IntegerField(label='Rent rate clean (per year)', read_only=True)
527 base_rent_rate_clean = IntegerField(label='Base rent rate clean (per year)', read_only=True)
528 rental_yield = DecimalField(decimal_places=1, label='Rental yield (%)', max_digits=10)
529 rent_period = CharField(max_length=250)
530 area = FloatField(allow_null=True, required=False)
531 purpose = CharField(allow_null=True, max_length=450, required=False)
532 ownership = CharField(allow_null=True, max_length=450, required=False)
533 koatuu_location = SerializerMethodField()
534 geo_path = ListField(allow_empty=False, child=IntegerField(label='Geo path', max_value=9223372036854775807, min_value=0), required=False)
535 geo_location = ModelField(model_field=<django.contrib.gis.db.models.fields.PointField: geo_location>)
536 geo_coordinates = SerializerMethodField()
537 owner_type = ChoiceField(choices=[(1, 'Фізична особа'), (2, 'Юридична особа')], required=False, validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValueValidator object>])
538 owner_edrpou = CharField(label='Owner RNOKPP/EDRPOU', max_length=50)
539 owner_name = CharField(max_length=1000)
540 renter_company = PrimaryKeyRelatedField(allow_null=True, queryset=HoldingCompany.objects.all(), required=False)
541 renter_type = ChoiceField(choices=[(1, 'Фізична особа'), (2, 'Юридична особа')], required=False, validators=[<django.core.validators.MinValueValidator object>, <django.core.validators.MaxValue… <trimmed 4650 bytes string>
542Environment:
543
544
545Request Method: POST
546Request URL: https://kupipai.webcase-dev.com/api/v1/announcement/create/
547
548Django Version: 3.2.5
549Python Version: 3.8.10
550Installed Applications:
551['markup',
552 'shared',
553 'apps.action_tracker',
554 'apps.announcements',
555 'apps.blog',
556 'apps.carts',
557 'apps.communication',
558 'apps.currency_rates',
559 'apps.faq',
560 'apps.frontend',
561 'apps.geo',
562 'apps.landing',
563 'apps.menu',
564 'apps.orders',
565 'apps.organisation',
566 'apps.simplepage',
567 'apps.staff',
568 'apps.streamblocks',
569 'rosetta',
570 'jet',
571 'seo',
572 'modeltranslation',
573 'script_pattern',
574 'django_jinja',
575 'django.contrib.gis',
576 'django.contrib.admin',
577 'dj_template_admin_urls',
578 'django.contrib.auth',
579 'django.contrib.contenttypes',
580 'django.contrib.sessions',
581 'django.contrib.messages',
582 'django.contrib.staticfiles',
583 'django.contrib.sites',
584 'drf_yasg',
585 'des',
586 'django_filters',
587 'parler',
588 'postie',
589 'ckeditor',
590 'ckeditor_uploader',
591 'solo',
592 'adminsortable2',
593 'robots',
594 'webpack_loader',
595 'versatileimagefield',
596 'social_django',
597 'rest_framework',
598 'standards',
599 'mptt',
600 'streamfield',
601 'constance',
602 'constance.backends.database',
603 'constance_register',
604 'drf_recaptcha',
605 'vuejs_translate',
606 'pxd_lingua',
607 'pxd_postgres',
608 'pxd_postgres.ltree',
609 'wcd_geo_db',
610 'wcd_geo_db.contrib.admin',
611 'wcd_geo_db_sources',
612 'wcd_user_checks',
613 'px_access_scopes.contrib.django',
614 'kl_cadastre_sdk']
615Installed Middleware:
616['django.middleware.security.SecurityMiddleware',
617 'django.contrib.sessions.middleware.SessionMiddleware',
618 'shared.middlewares.languages.ForceDefaultLanguageMiddleware',
619 'social_django.middleware.SocialAuthExceptionMiddleware',
620 'django.middleware.locale.LocaleMiddleware',
621 'django.middleware.common.CommonMiddleware',
622 'django.middleware.csrf.CsrfViewMiddleware',
623 'django.contrib.auth.middleware.AuthenticationMiddleware',
624 'django.contrib.messages.middleware.MessageMiddleware',
625 'django.middleware.clickjacking.XFrameOptionsMiddleware',
626 'apps.staff.middleware.user_checks_state_middleware',
627 'apps.staff.middleware.SocialAuthExceptionMiddleware',
628 'seo.middleware.url_seo_middleware']
629
630
631
632Traceback (most recent call last):
633 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
634 response = get_response(request)
635 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
636 response = wrapped_callback(request, *callback_args, **callback_kwargs)
637 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
638 return view_func(*args, **kwargs)
639 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view
640 return self.dispatch(request, *args, **kwargs)
641 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/views.py", line 509, in dispatch
642 response = self.handle_exception(exc)
643 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/views.py", line 469, in handle_exception
644 self.raise_uncaught_exception(exc)
645 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
646 raise exc
647 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/views.py", line 506, in dispatch
648 response = handler(request, *args, **kwargs)
649 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/generics.py", line 190, in post
650 return self.create(request, *args, **kwargs)
651 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/mixins.py", line 18, in create
652 serializer.is_valid(raise_exception=True)
653 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/serializers.py", line 220, in is_valid
654 self._validated_data = self.run_validation(self.initial_data)
655 File "/home/kupipai/kupipai/kupipai/server/.venv/lib/python3.8/site-packages/rest_framework/serializers.py", line 422, in run_validation
656 value = self.validate(value)
657 File "/home/kupipai/kupipai/kupipai/server/apps/announcements/api/serializers/announcements.py", line 206, in validate
658 rent_rate * (1 - config.GOV_TAXES / 100)
659
660Exception Type: NameError at /api/v1/announcement/create/
661Exception Value: name 'config' is not defined
662
663
664
665Request information
666USER
667a5-1@web.com
668
669GET
670No GET data
671
672POST
673No POST data
674
675FILES
676No FILES data
677
678COOKIES
679Variable Value
680sidebar_pinned
681'true'
682tk_or
683'%22%22'
684tk_lr
685'%22%22'
686tk_ai
687'%2Bljmc8nf5368ZXz4exmip88U'
688_gcl_au
689'1.1.57551520.1623683681'
690_ga
691'GA1.1.1326100832.1617199711'
692_ga_PHXB78P82M
693'GS1.1.1623688710.1.1.1623688726.0'
694current_currency
695'EUR'
696register_user_type
697'owner'
698csrftoken
699'ABulpovhdZCSKFGGym7YjGuwyePJAVl6JsvdD4w4Ty0CIJTCaohM1Q4djI6iEvLF'
700sessionid
701'j5267c16rnqksulprhr9k3xqxuam79c8'
702META
703Variable Value
704CONTENT_LENGTH
705'947'
706CONTENT_TYPE
707'application/json'
708CSRF_COOKIE
709'ABulpovhdZCSKFGGym7YjGuwyePJAVl6JsvdD4w4Ty0CIJTCaohM1Q4djI6iEvLF'
710HTTP_ACCEPT
711'*/*'
712HTTP_ACCEPT_ENCODING
713'gzip, deflate, br'
714HTTP_CONNECTION
715'close'
716HTTP_COOKIE
717('sidebar_pinned=true; tk_or=%22%22; tk_lr=%22%22; '
718 'tk_ai=%2Bljmc8nf5368ZXz4exmip88U; _gcl_au=1.1.57551520.1623683681; '
719 '_ga=GA1.1.1326100832.1617199711; '
720 '_ga_PHXB78P82M=GS1.1.1623688710.1.1.1623688726.0; current_currency=EUR; '
721 'register_user_type=owner; '
722 'csrftoken=ABulpovhdZCSKFGGym7YjGuwyePJAVl6JsvdD4w4Ty0CIJTCaohM1Q4djI6iEvLF; '
723 'sessionid=j5267c16rnqksulprhr9k3xqxuam79c8')
724HTTP_DNT
725'1'
726HTTP_HOST
727'kupipai.webcase-dev.com'
728HTTP_ORIGIN
729'https://kupipai.webcase-dev.com'
730HTTP_REFERER
731'https://kupipai.webcase-dev.com/profile/announcement/create/client'
732HTTP_SEC_CH_UA
733'" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"'
734HTTP_SEC_CH_UA_MOBILE
735'?0'
736HTTP_SEC_FETCH_DEST
737'empty'
738HTTP_SEC_FETCH_MODE
739'same-origin'
740HTTP_SEC_FETCH_SITE
741'same-origin'
742HTTP_USER_AGENT
743('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like '
744 'Gecko) Chrome/91.0.4472.124 Safari/537.36')
745HTTP_X_CSRFTOKEN
746'********************'
747HTTP_X_FORWARDED_FOR
748'185.248.128.230'
749HTTP_X_FORWARDED_PROTO
750'https'
751HTTP_X_REQUESTED_WITH
752'XMLHttpRequest'
753PATH_INFO
754'/api/v1/announcement/create/'
755QUERY_STRING
756''
757RAW_URI
758'/api/v1/announcement/create/'
759REMOTE_ADDR
760''
761REQUEST_METHOD
762'POST'
763SCRIPT_NAME
764''
765SERVER_NAME
766'kupipai.webcase-dev.com'
767SERVER_PORT
768'443'
769SERVER_PROTOCOL
770'HTTP/1.0'
771SERVER_SOFTWARE
772'gunicorn/20.1.0'
773gunicorn.socket
774<gevent._socket3.socket at 0x7f39c1b41ee0 object, fd=8, family=1, type=1, proto=0>
775wsgi.errors
776<gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f39c14e04f0>
777wsgi.file_wrapper
778<class 'gunicorn.http.wsgi.FileWrapper'>
779wsgi.input
780<gunicorn.http.body.Body object at 0x7f39c14e0430>
781wsgi.input_terminated
782True
783wsgi.multiprocess
784True
785wsgi.multithread
786True
787wsgi.run_once
788False
789wsgi.url_scheme
790'https'
791wsgi.version
792(1, 0)
793Settings
794Using settings module app.settings
795Setting Value
796ABSOLUTE_URL_OVERRIDES
797{}
798ACCOUNT_MODERATION_URL
799'/auth/on-moderation/'
800ADMINS
801[]
802ALLOWED_HOSTS
803['kupipai.webcase-dev.com', 'www.kupipai.webcase-dev.com']
804APPEND_SLASH
805True
806AUTHENTICATION_BACKENDS
807('django.contrib.auth.backends.ModelBackend',
808 'apps.staff.backends.bankid_nbu.BankIDNBU')
809AUTH_PASSWORD_VALIDATORS
810'********************'
811AUTH_USER_MODEL
812'auth.User'
813BANKID_CONFIRMATION_URL
814'/auth/register/bankid/info/'
815BASE_DIR
816PosixPath('/home/kupipai/kupipai/kupipai/server/app/settings/default.py')
817BASE_ROOT
818PosixPath('/home/kupipai/kupipai/kupipai/server/app')
819CACHES
820{'default': {'BACKEND': 'django_redis.cache.RedisCache',
821 'LOCATION': 'redis://127.0.0.1:6379/1'}}
822CACHE_MIDDLEWARE_ALIAS
823'default'
824CACHE_MIDDLEWARE_KEY_PREFIX
825'********************'
826CACHE_MIDDLEWARE_SECONDS
827600
828CELERY_ACCEPT_CONTENT
829['json']
830CELERY_BROKER_URL
831'redis://127.0.0.1:6379/0'
832CELERY_RESULT_SERIALIZER
833'json'
834CELERY_TASK_SERIALIZER
835'json'
836CKEDITOR_CONFIGS
837{'default': {'CKEDITOR_BROWSE_SHOW_DIRS': True,
838 'extraPlugins': 'uploadimage,div,autolink,autoembed,embedsemantic,widget,lineutils,clipboard,dialog,dialogui,elementspath,uploadwidget,youtube,lineheight',
839 'line_height': '1; 1.2; 1.3; 1.4; 1.5; 1.6; 1.7; 1.8; 1.9; 2; '
840 '2.2; 2.4; 2.6; 2.8; 3; 4; 5; 6; 7; 10; 16; 20; '
841 '22;',
842 'skin': 'office2013',
843 'tabSpaces': 4,
844 'toolbar': 'YourCustomToolbarConfig',
845 'toolbar_Basic': [['Source', '-', 'Bold', 'Italic']],
846 'toolbar_YourCustomToolbarConfig': [{'items': ['Source',
847 '-',
848 'Save',
849 'NewPage',
850 'Preview',
851 'Print',
852 '-',
853 'Templates'],
854 'name': 'document'},
855 {'items': ['Cut',
856 'Copy',
857 'Paste',
858 'PasteText',
859 'PasteFromWord',
860 '-',
861 'Undo',
862 'Redo'],
863 'name': 'clipboard'},
864 {'items': ['Find',
865 'Replace',
866 '-',
867 'SelectAll'],
868 'name': 'editing'},
869 {'items': ['Form',
870 'Checkbox',
871 'Radio',
872 'TextField',
873 'Textarea',
874 'Select',
875 'Button',
876 'ImageButton',
877 'HiddenField'],
878 'name': 'forms'},
879 '/',
880 {'items': ['Bold',
881 'Italic',
882 'Underline',
883 'Strike',
884 'Subscript',
885 'Superscript',
886 '-',
887 'RemoveFormat'],
888 'name': 'basicstyles'},
889 {'items': ['NumberedList',
890 'BulletedList',
891 '-',
892 'Outdent',
893 'Indent',
894 '-',
895 'Blockquote',
896 'CreateDiv',
897 '-',
898 'JustifyLeft',
899 'JustifyCenter',
900 'JustifyRight',
901 'JustifyBlock',
902 '-',
903 'BidiLtr',
904 'BidiRtl',
905 'Language'],
906 'name': 'paragraph'},
907 {'items': ['Link',
908 'Unlink',
909 'Anchor'],
910 'name': 'links'},
911 {'items': ['Preview',
912 'Maximize'],
913 'name': 'yourcustomtools'},
914 {'items': ['Styles',
915 'Format',
916 'Font',
917 'FontSize',
918 'lineheight'],
919 'name': 'styles'},
920 {'items': ['TextColor',
921 'BGColor'],
922 'name': 'colors'},
923 {'items': ['Maximize',
924 'ShowBlocks'],
925 'name': 'tools'},
926 {'items': ['About'],
927 'name': 'about'},
928 {'items': ['Image',
929 'Flash',
930 'Table',
931 'HorizontalRule',
932 'Smiley',
933 'Youtube',
934 'SpecialChar',
935 'PageBreak',
936 'Iframe'],
937 'name': 'insert'}],
938 'width': 850},
939 'poor': {'height': 70,
940 'skin': 'office2013',
941 'toolbar': ({'items': ['Source',
942 'Styles',
943 'Format',
944 'Font',
945 'FontSize',
946 'Bold',
947 'TextColor',
948 'BGColor'],
949 'name': 'toolbar'},),
950 'width': 600}}
951CKEDITOR_UPLOAD_PATH
952'ckeditor'
953CONSTANCE_ADDITIONAL_FIELDS
954{'decimal_field': [<class 'django.forms.fields.DecimalField'>, {}],
955 'file_field': [<class 'django.forms.fields.FileField'>, {}],
956 'group-selection-field': [<class 'django.forms.models.ModelChoiceField'>,
957 {'queryset': <QuerySet [<Group: A1: Service admin>, <Group: A2: Agricultural company>, <Group: A3: Agricultural company Manager>, <Group: A4: Investor>, <Group: A5: Private landlord>, <Group: Service admin (admin)>]>,
958 'required': True}],
959 'image_field': [<class 'django.forms.fields.ImageField'>, {}]}
960CONSTANCE_BACKEND
961'constance.backends.database.DatabaseBackend'
962CONSTANCE_CONFIG
963{'GOOGLE_MAPS_SITE_KEY': '********************',
964 'GOOGLE_RECAPTCHA_SECRET_KEY': '********************',
965 'GOOGLE_RECAPTCHA_SITE_KEY': '********************',
966 'GOV_TAXES': (Decimal('19.5'),
967 'Government taxes (%)',
968 <class 'decimal.Decimal'>),
969 'INVEST_REQUEST_MIN_TOTAL': (10000, 'Invest request min total', <class 'int'>),
970 'NOTARY_TAX_MAX': (6000, 'Notary tax max', <class 'int'>),
971 'NOTARY_TAX_MIN': (3000, 'Notary tax min', <class 'int'>),
972 'PARTNER_MAX_VALUE': (5000000, 'Максимальное значение'),
973 'PARTNER_MIN_VALUE': (4000, 'Минимальное значение'),
974 'PLATFORM_TAX': (5, 'Platform tax (%)', <class 'int'>),
975 'STAFF_ADMIN_INITIAL_GROUP': (None,
976 'Default group for admin.',
977 'group-selection-field'),
978 'STAFF_HOLDING_INITIAL_GROUP': (None,
979 'Default group for holding.',
980 'group-selection-field'),
981 'STAFF_HOLDING_MANAGER_INITIAL_GROUP': (None,
982 'Default group for holding manager.',
983 'group-selection-field'),
984 'STAFF_INVESTOR_INITIAL_GROUP': (None,
985 'Default group for investor.',
986 'group-selection-field'),
987 'STAFF_OWNER_INITIAL_GROUP': (None,
988 'Default group for owner.',
989 'group-selection-field'),
990 'TINYPNG_API_KEY': '********************'}
991CONSTANCE_CONFIG_FIELDSETS
992{'Google Maps': ('GOOGLE_MAPS_SITE_KEY',),
993 'Gov consts': ('GOV_TAXES',),
994 'Initial user groups': {'collapse': True,
995 'fields': ('STAFF_ADMIN_INITIAL_GROUP',
996 'STAFF_HOLDING_INITIAL_GROUP',
997 'STAFF_HOLDING_MANAGER_INITIAL_GROUP',
998 'STAFF_INVESTOR_INITIAL_GROUP',
999 'STAFF_OWNER_INITIAL_GROUP')},
1000 'Order consts': ('INVEST_REQUEST_MIN_TOTAL',
1001 'PLATFORM_TAX',
1002 'NOTARY_TAX_MIN',
1003 'NOTARY_TAX_MAX'),
1004 'Partner form': ('PARTNER_MIN_VALUE', 'PARTNER_MAX_VALUE'),
1005 'TinyPNG': ('TINYPNG_API_KEY',),
1006 'reCaptcha': ('GOOGLE_RECAPTCHA_SITE_KEY', 'GOOGLE_RECAPTCHA_SECRET_KEY')}
1007CSRF_COOKIE_AGE
100831449600
1009CSRF_COOKIE_DOMAIN
1010None
1011CSRF_COOKIE_HTTPONLY
1012False
1013CSRF_COOKIE_NAME
1014'csrftoken'
1015CSRF_COOKIE_PATH
1016'/'
1017CSRF_COOKIE_SAMESITE
1018'Lax'
1019CSRF_COOKIE_SECURE
1020True
1021CSRF_FAILURE_VIEW
1022'django.views.csrf.csrf_failure'
1023CSRF_HEADER_NAME
1024'HTTP_X_CSRFTOKEN'
1025CSRF_TRUSTED_ORIGINS
1026[]
1027CSRF_USE_SESSIONS
1028False
1029DATABASES
1030{'default': {'ATOMIC_REQUESTS': False,
1031 'AUTOCOMMIT': True,
1032 'CONN_MAX_AGE': 0,
1033 'ENGINE': 'django.contrib.gis.db.backends.postgis',
1034 'HOST': '127.0.0.1',
1035 'NAME': 'kupipai_db',
1036 'OPTIONS': {},
1037 'PASSWORD': '********************',
1038 'PORT': 5432,
1039 'TEST': {'CHARSET': None,
1040 'COLLATION': None,
1041 'MIGRATE': True,
1042 'MIRROR': None,
1043 'NAME': None},
1044 'TIME_ZONE': None,
1045 'USER': 'kupipai_db'}}
1046DATABASE_ROUTERS
1047[]
1048DATA_UPLOAD_MAX_MEMORY_SIZE
10492621440
1050DATA_UPLOAD_MAX_NUMBER_FIELDS
10511000
1052DATETIME_FORMAT
1053'N j, Y, P'
1054DATETIME_INPUT_FORMATS
1055['%Y-%m-%d %H:%M:%S',
1056 '%Y-%m-%d %H:%M:%S.%f',
1057 '%Y-%m-%d %H:%M',
1058 '%m/%d/%Y %H:%M:%S',
1059 '%m/%d/%Y %H:%M:%S.%f',
1060 '%m/%d/%Y %H:%M',
1061 '%m/%d/%y %H:%M:%S',
1062 '%m/%d/%y %H:%M:%S.%f',
1063 '%m/%d/%y %H:%M']
1064DATE_FORMAT
1065'N j, Y'
1066DATE_INPUT_FORMATS
1067['%Y-%m-%d',
1068 '%m/%d/%Y',
1069 '%m/%d/%y',
1070 '%b %d %Y',
1071 '%b %d, %Y',
1072 '%d %b %Y',
1073 '%d %b, %Y',
1074 '%B %d %Y',
1075 '%B %d, %Y',
1076 '%d %B %Y',
1077 '%d %B, %Y']
1078DEBUG
1079True
1080DEBUG_PROPAGATE_EXCEPTIONS
1081False
1082DECIMAL_SEPARATOR
1083'.'
1084DEFAULT_AUTO_FIELD
1085'django.db.models.AutoField'
1086DEFAULT_CHARSET
1087'utf-8'
1088DEFAULT_EXCEPTION_REPORTER
1089'django.views.debug.ExceptionReporter'
1090DEFAULT_EXCEPTION_REPORTER_FILTER
1091'django.views.debug.SafeExceptionReporterFilter'
1092DEFAULT_EXTENSIONS
1093['jinja2.ext.do',
1094 'jinja2.ext.loopcontrols',
1095 'jinja2.ext.i18n',
1096 'django_jinja.builtins.extensions.DebugExtension',
1097 'django_jinja.builtins.extensions.CsrfExtension',
1098 'django_jinja.builtins.extensions.CacheExtension',
1099 'django_jinja.builtins.extensions.TimezoneExtension',
1100 'django_jinja.builtins.extensions.UrlsExtension',
1101 'django_jinja.builtins.extensions.StaticFilesExtension',
1102 'django_jinja.builtins.extensions.DjangoFiltersExtension']
1103DEFAULT_FILE_STORAGE
1104'django.core.files.storage.FileSystemStorage'
1105DEFAULT_FROM_EMAIL
1106'admin@admin.admin'
1107DEFAULT_HASHING_ALGORITHM
1108'sha256'
1109DEFAULT_INDEX_TABLESPACE
1110''
1111DEFAULT_TABLESPACE
1112''
1113DISALLOWED_USER_AGENTS
1114[]
1115DRF_RECAPTCHA_SECRET_KEY
1116'********************'
1117DRF_RECAPTCHA_TESTING
1118True
1119EMAIL_BACKEND
1120'des.backends.ConfiguredEmailBackend'
1121EMAIL_CONFIG
1122{'EMAIL_BACKEND': 'django.core.mail.backends.console.EmailBackend',
1123 'EMAIL_FILE_PATH': '',
1124 'EMAIL_HOST': '127.0.0.1',
1125 'EMAIL_HOST_PASSWORD': '********************',
1126 'EMAIL_HOST_USER': None,
1127 'EMAIL_PORT': None}
1128EMAIL_FILE_PATH
1129''
1130EMAIL_HOST
1131'127.0.0.1'
1132EMAIL_HOST_PASSWORD
1133'********************'
1134EMAIL_HOST_USER
1135None
1136EMAIL_PORT
1137None
1138EMAIL_SSL_CERTFILE
1139None
1140EMAIL_SSL_KEYFILE
1141'********************'
1142EMAIL_SUBJECT_PREFIX
1143'[Django] '
1144EMAIL_TIMEOUT
1145None
1146EMAIL_USE_LOCALTIME
1147False
1148EMAIL_USE_SSL
1149False
1150EMAIL_USE_TLS
1151False
1152ENABLE_SSL
1153True
1154E_LAND_GOV_ID
1155'981_6cs0dtccejgg4c84g004o8cgg0w88os40ocgswsow0so0s8cwo'
1156E_LAND_GOV_SECRET
1157'********************'
1158FILE_CHARSET
1159'utf-8'
1160FILE_UPLOAD_DIRECTORY_PERMISSIONS
1161509
1162FILE_UPLOAD_HANDLERS
1163['django.core.files.uploadhandler.MemoryFileUploadHandler',
1164 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
1165FILE_UPLOAD_MAX_MEMORY_SIZE
11662621440
1167FILE_UPLOAD_PERMISSIONS
1168509
1169FILE_UPLOAD_TEMP_DIR
1170None
1171FIRST_DAY_OF_WEEK
11720
1173FIXTURE_DIRS
1174[]
1175FORCE_SCRIPT_NAME
1176None
1177FORMAT_MODULE_PATH
1178None
1179FORM_RENDERER
1180'django.forms.renderers.DjangoTemplates'
1181GOOGLE_RECAPTCHA_SECRET_KEY
1182'********************'
1183GOOGLE_RECAPTCHA_SITE_KEY
1184'********************'
1185GUNICORN_PID
1186'/run/kupipai_gunicorn/kupipai_gunicorn.pid'
1187HOME_URL
1188'/'
1189IGNORABLE_404_URLS
1190[]
1191IMAGE_DEFAULT_RENDITION_KEY_SET
1192'********************'
1193INSTALLED_APPS
1194['markup',
1195 'shared',
1196 'apps.action_tracker',
1197 'apps.announcements',
1198 'apps.blog',
1199 'apps.carts',
1200 'apps.communication',
1201 'apps.currency_rates',
1202 'apps.faq',
1203 'apps.frontend',
1204 'apps.geo',
1205 'apps.landing',
1206 'apps.menu',
1207 'apps.orders',
1208 'apps.organisation',
1209 'apps.simplepage',
1210 'apps.staff',
1211 'apps.streamblocks',
1212 'rosetta',
1213 'jet',
1214 'seo',
1215 'modeltranslation',
1216 'script_pattern',
1217 'django_jinja',
1218 'django.contrib.gis',
1219 'django.contrib.admin',
1220 'dj_template_admin_urls',
1221 'django.contrib.auth',
1222 'django.contrib.contenttypes',
1223 'django.contrib.sessions',
1224 'django.contrib.messages',
1225 'django.contrib.staticfiles',
1226 'django.contrib.sites',
1227 'drf_yasg',
1228 'des',
1229 'django_filters',
1230 'parler',
1231 'postie',
1232 'ckeditor',
1233 'ckeditor_uploader',
1234 'solo',
1235 'adminsortable2',
1236 'robots',
1237 'webpack_loader',
1238 'versatileimagefield',
1239 'social_django',
1240 'rest_framework',
1241 'standards',
1242 'mptt',
1243 'streamfield',
1244 'constance',
1245 'constance.backends.database',
1246 'constance_register',
1247 'drf_recaptcha',
1248 'vuejs_translate',
1249 'pxd_lingua',
1250 'pxd_postgres',
1251 'pxd_postgres.ltree',
1252 'wcd_geo_db',
1253 'wcd_geo_db.contrib.admin',
1254 'wcd_geo_db_sources',
1255 'wcd_user_checks',
1256 'px_access_scopes.contrib.django',
1257 'kl_cadastre_sdk']
1258INTERNAL_IPS
1259[]
1260JET_SIDE_MENU_COMPACT
1261True
1262LANGUAGES
1263(('uk', 'Ukranian'), ('ru', 'Russian'))
1264LANGUAGES_BIDI
1265['he', 'ar', 'ar-dz', 'fa', 'ur']
1266LANGUAGE_CODE
1267'uk'
1268LANGUAGE_CODES_TRANSLATABLE
1269{'ru': 'RU', 'uk': 'UK'}
1270LANGUAGE_COOKIE_AGE
1271None
1272LANGUAGE_COOKIE_DOMAIN
1273None
1274LANGUAGE_COOKIE_HTTPONLY
1275False
1276LANGUAGE_COOKIE_NAME
1277'django_language'
1278LANGUAGE_COOKIE_PATH
1279'/'
1280LANGUAGE_COOKIE_SAMESITE
1281None
1282LANGUAGE_COOKIE_SECURE
1283False
1284LANG_EXCLUDE_URLS
1285('/streamfield/',)
1286LOCALE_PATHS
1287(PosixPath('/home/kupipai/kupipai/kupipai/server/app/locale'),)
1288LOGGING
1289{'disable_existing_loggers': False,
1290 'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'DEBUG'},
1291 'logfile': {'class': 'logging.FileHandler',
1292 'filename': PosixPath('/home/kupipai/kupipai/kupipai/server/app/settings/default.py/../logfile.log'),
1293 'level': 'DEBUG'}},
1294 'root': {'handlers': ['console', 'logfile'], 'level': 'INFO'},
1295 'version': 1}
1296LOGGING_CONFIG
1297'logging.config.dictConfig'
1298LOGIN_REDIRECT_URL
1299'/accounts/profile/'
1300LOGIN_URL
1301'/accounts/login/'
1302LOGOUT_REDIRECT_URL
1303None
1304MANAGERS
1305[]
1306MEDIA_ROOT
1307PosixPath('/home/kupipai/kupipai/kupipai/server/app/uploads')
1308MEDIA_URL
1309'/uploads/'
1310MESSAGE_STORAGE
1311'django.contrib.messages.storage.fallback.FallbackStorage'
1312MIDDLEWARE
1313['django.middleware.security.SecurityMiddleware',
1314 'django.contrib.sessions.middleware.SessionMiddleware',
1315 'shared.middlewares.languages.ForceDefaultLanguageMiddleware',
1316 'social_django.middleware.SocialAuthExceptionMiddleware',
1317 'django.middleware.locale.LocaleMiddleware',
1318 'django.middleware.common.CommonMiddleware',
1319 'django.middleware.csrf.CsrfViewMiddleware',
1320 'django.contrib.auth.middleware.AuthenticationMiddleware',
1321 'django.contrib.messages.middleware.MessageMiddleware',
1322 'django.middleware.clickjacking.XFrameOptionsMiddleware',
1323 'apps.staff.middleware.user_checks_state_middleware',
1324 'apps.staff.middleware.SocialAuthExceptionMiddleware',
1325 'seo.middleware.url_seo_middleware']
1326MIGRATION_MODULES
1327{}
1328MODELTRANSLATION_DEFAULT_LANGUAGE
1329'uk'
1330MONTH_DAY_FORMAT
1331'F j'
1332NUMBER_GROUPING
13330
1334PASSWORD_HASHERS
1335'********************'
1336PASSWORD_RESET_TIMEOUT
1337'********************'
1338PASSWORD_RESET_TIMEOUT_DAYS
1339'********************'
1340POSTIE_HTML_ADMIN_WIDGET
1341{'attrs': {},
1342 'widget': 'CKEditorUploadingWidget',
1343 'widget_module': 'ckeditor_uploader.widgets'}
1344POSTIE_INSTANT_SEND
1345False
1346POSTIE_TEMPLATE_CHOICES
1347Choices(('password_reset_confirm', 'password_reset_confirm', 'Confirm password reset'), ('email_address_confirmation', 'email_address_confirmation', 'Confirm email'), ('new_question_form_for_recipients', 'new_question_form_for_recipients', 'New question for recipients'), ('new_contact_form_for_recipients', 'new_contact_form_for_recipients', 'Callback request for recipients'), ('new_subscriber_for_recipients', 'new_subscriber_for_recipients', 'New subscriber for recipients'), ('new_request_for_cooperation_for_recipients', 'new_request_for_cooperation_for_recipients', 'New cooperation for recipients'))
1348POSTIE_TEMPLATE_CONTEXTS
1349{'email_address_confirmation': {'link': 'Confirmation link', 'name': 'Name'},
1350 'new_contact_form_for_recipients': {'admin_link': 'Link to admin',
1351 'created_at': 'Created at',
1352 'first_name': 'Name',
1353 'message': 'Message',
1354 'ref': 'Ref link',
1355 'source': 'Source',
1356 'tel': 'Phone',
1357 'user': 'User'},
1358 'new_question_form_for_recipients': {'admin_link': 'Link to admin',
1359 'created_at': 'Created at',
1360 'email': 'Email',
1361 'full_name': 'Full name',
1362 'message': 'Message',
1363 'ref': 'Ref link',
1364 'source': 'Source',
1365 'tel': 'Phone',
1366 'topic': 'Topic'},
1367 'new_request_for_cooperation_for_recipients': {'admin_link': 'Link to admin',
1368 'company': 'Phone',
1369 'created_at': 'Created at',
1370 'email': 'Email',
1371 'full_name': 'Company',
1372 'message': 'Message',
1373 'ref': 'Ref link',
1374 'source': 'Source',
1375 'tel': 'Phone'},
1376 'new_subscriber_for_recipients': {'admin_link': 'Link to admin',
1377 'created_at': 'Created at',
1378 'email': 'Email',
1379 'ip': 'Ip',
1380 'ref': 'Ref link',
1381 'source': 'Source',
1382 'user': 'User'},
1383 'password_reset_confirm': '********************'}
1384PREPEND_WWW
1385False
1386PROJECT_APPS
1387['markup',
1388 'shared',
1389 'apps.action_tracker',
1390 'apps.announcements',
1391 'apps.blog',
1392 'apps.carts',
1393 'apps.communication',
1394 'apps.currency_rates',
1395 'apps.faq',
1396 'apps.frontend',
1397 'apps.geo',
1398 'apps.landing',
1399 'apps.menu',
1400 'apps.orders',
1401 'apps.organisation',
1402 'apps.simplepage',
1403 'apps.staff',
1404 'apps.streamblocks']
1405PX_ACCESS_TOKENS_AGGREGATES
1406'********************'
1407PX_ACCESS_TOKENS_REGISTRIES
1408'********************'
1409REST_FRAMEWORK
1410{'DATETIME_FORMAT': 'iso-8601',
1411 'DATETIME_INPUT_FORMATS': ['iso-8601'],
1412 'DATE_FORMAT': 'iso-8601',
1413 'DATE_INPUT_FORMATS': ['iso-8601'],
1414 'DEFAULT_AUTHENTICATION_CLASSES': ['rest_framework.authentication.BasicAuthentication',
1415 'rest_framework.authentication.SessionAuthentication'],
1416 'DEFAULT_FILTER_BACKENDS': ['standards.filters.backends.DjangoFilterBackend'],
1417 'DEFAULT_METADATA_CLASS': 'standards.drf.metadata.FieldsetMetadata',
1418 'DEFAULT_PARSER_CLASSES': ('standards.drf.parsers.CamelCaseORJSONParser',
1419 'djangorestframework_camel_case.parser.CamelCaseFormParser',
1420 'djangorestframework_camel_case.parser.CamelCaseMultiPartParser'),
1421 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.AllowAny'],
1422 'DEFAULT_RENDERER_CLASSES': ('standards.drf.renderers.CamelCaseORJSONRenderer',
1423 'djangorestframework_camel_case.render.CamelCaseBrowsableAPIRenderer'),
1424 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
1425 'EXCEPTION_HANDLER': 'standards.drf.handlers.exception_handler',
1426 'PAGE_PARAM': 'page',
1427 'SEARCH_PARAM': 'query',
1428 'TIME_FORMAT': 'iso-8601',
1429 'TIME_INPUT_FORMATS': ['iso-8601']}
1430ROOT_URLCONF
1431'app.urls'
1432ROSETTA_CACHE_NAME
1433'default'
1434ROSETTA_SHOW_AT_ADMIN_PANEL
1435True
1436ROSETTA_STORAGE_CLASS
1437'rosetta.storage.CacheRosettaStorage'
1438SECRET_KEY
1439'********************'
1440SECURE_BROWSER_XSS_FILTER
1441False
1442SECURE_CONTENT_TYPE_NOSNIFF
1443True
1444SECURE_HSTS_INCLUDE_SUBDOMAINS
1445False
1446SECURE_HSTS_PRELOAD
1447False
1448SECURE_HSTS_SECONDS
14490
1450SECURE_PROXY_SSL_HEADER
1451('HTTP_X_FORWARDED_PROTO', 'https')
1452SECURE_REDIRECT_EXEMPT
1453[]
1454SECURE_REFERRER_POLICY
1455'same-origin'
1456SECURE_SSL_HOST
1457None
1458SECURE_SSL_REDIRECT
1459False
1460SEO_DEBUG_MODE
1461True
1462SEO_HTML_ADMIN_WIDGET
1463{'widget': 'CKEditorWidget', 'widget_path': 'ckeditor.widgets'}
1464SEO_MODELS
1465['landing.landingpage',
1466 'landing.agricalturallandingpage',
1467 'landing.investorlandingpage',
1468 'landing.landownerlandingpage',
1469 'blog.post',
1470 'simplepage.page',
1471 'simplepage.contactpage']
1472SEO_USE_URL_SEO
1473True
1474SERVER_EMAIL
1475'root@localhost'
1476SESSION_CACHE_ALIAS
1477'default'
1478SESSION_COOKIE_AGE
14791209600
1480SESSION_COOKIE_DOMAIN
1481None
1482SESSION_COOKIE_HTTPONLY
1483True
1484SESSION_COOKIE_NAME
1485'sessionid'
1486SESSION_COOKIE_PATH
1487'/'
1488SESSION_COOKIE_SAMESITE
1489'Lax'
1490SESSION_COOKIE_SECURE
1491True
1492SESSION_ENGINE
1493'django.contrib.sessions.backends.db'
1494SESSION_EXPIRE_AT_BROWSER_CLOSE
1495False
1496SESSION_FILE_PATH
1497None
1498SESSION_SAVE_EVERY_REQUEST
1499False
1500SESSION_SERIALIZER
1501'django.contrib.sessions.serializers.JSONSerializer'
1502SETTINGS_MODULE
1503'app.settings'
1504SHORT_DATETIME_FORMAT
1505'm/d/Y P'
1506SHORT_DATE_FORMAT
1507'm/d/Y'
1508SIGNING_BACKEND
1509'django.core.signing.TimestampSigner'
1510SILENCED_SYSTEM_CHECKS
1511[]
1512SITE_ID
15131
1514SOCIAL_AUTH_BANKID_NBU_BEBUG
1515True
1516SOCIAL_AUTH_BANKID_NBU_DEBUG
1517True
1518SOCIAL_AUTH_BANKID_NBU_INACTIVE_USER_LOGIN
1519False
1520SOCIAL_AUTH_BANKID_NBU_INACTIVE_USER_URL
1521'/auth/register/bankid/info/'
1522SOCIAL_AUTH_BANKID_NBU_KEY
1523'********************'
1524SOCIAL_AUTH_BANKID_NBU_SECRET
1525'********************'
1526SOCIAL_AUTH_FIELDS_STORED_IN_SESSION
1527['register_user_type', 'next']
1528SOCIAL_AUTH_LOGIN_ERROR_URL
1529'/auth/error/'
1530SOCIAL_AUTH_LOGIN_REDIRECT_URL
1531'/'
1532SOCIAL_AUTH_PIPELINE
1533('social_core.pipeline.social_auth.social_details',
1534 'social_core.pipeline.social_auth.social_uid',
1535 'social_core.pipeline.social_auth.auth_allowed',
1536 'apps.staff.social_auth.define_user_type',
1537 'social_core.pipeline.social_auth.social_user',
1538 'social_core.pipeline.user.get_username',
1539 'social_core.pipeline.social_auth.associate_by_email',
1540 'apps.staff.social_auth.user_creation_type_guard',
1541 'social_core.pipeline.user.create_user',
1542 'social_core.pipeline.social_auth.associate_user',
1543 'social_core.pipeline.social_auth.load_extra_data',
1544 'social_core.pipeline.user.user_details',
1545 'apps.staff.social_auth.register_bankid_user_type',
1546 'apps.staff.social_auth.user_confirmation_redirector')
1547SOCIAL_AUTH_POSTGRES_JSONFIELD
1548True
1549SOCIAL_AUTH_URL_NAMESPACE
1550'social'
1551STATICFILES_DIRS
1552[]
1553STATICFILES_FINDERS
1554['django.contrib.staticfiles.finders.FileSystemFinder',
1555 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
1556STATICFILES_STORAGE
1557'markup.storages.DjsManifestStaticFilesStorage'
1558STATIC_ROOT
1559PosixPath('/home/kupipai/kupipai/kupipai/server/app/static')
1560STATIC_URL
1561'/static/'
1562STREAMFIELD_STREAMBLOCKS_APP_PATH
1563'apps.streamblocks'
1564TEMPLATES
1565[{'APP_DIRS': True,
1566 'BACKEND': 'django_jinja.backend.Jinja2',
1567 'DIRS': [],
1568 'NAME': 'jinja2',
1569 'OPTIONS': {'auto_reload': True,
1570 'bytecode_cache': {'backend': 'django_jinja.cache.BytecodeCache',
1571 'enabled': True,
1572 'name': 'default'},
1573 'context_processors': ['django.contrib.auth.context_processors.auth',
1574 'django.template.context_processors.debug',
1575 'django.template.context_processors.i18n',
1576 'django.template.context_processors.media',
1577 'django.template.context_processors.static',
1578 'django.template.context_processors.tz',
1579 'django.contrib.messages.context_processors.messages',
1580 'apps.organisation.context_processors.organisation_data.data',
1581 'apps.menu.context_processors.menu_data.data',
1582 'shared.context_processors.languages.data',
1583 'shared.context_processors.re_captcha.data',
1584 'apps.communication.context_processors.modals.data',
1585 'apps.staff.context_processors.user_checks_state'],
1586 'debug': True,
1587 'environment': 'shared.env.jinja2.environment',
1588 'extensions': ['jinja2.ext.do',
1589 'jinja2.ext.loopcontrols',
1590 'jinja2.ext.i18n',
1591 'django_jinja.builtins.extensions.DebugExtension',
1592 'django_jinja.builtins.extensions.CsrfExtension',
1593 'django_jinja.builtins.extensions.CacheExtension',
1594 'django_jinja.builtins.extensions.TimezoneExtension',
1595 'django_jinja.builtins.extensions.UrlsExtension',
1596 'django_jinja.builtins.extensions.StaticFilesExtension',
1597 'django_jinja.builtins.extensions.DjangoFiltersExtension',
1598 'webpack_loader.contrib.jinja2ext.WebpackExtension'],
1599 'filters': {},
1600 'globals': {},
1601 'match_extension': '.jinja',
1602 'newstyle_gettext': True,
1603 'undefined': <class 'jinja2.runtime.ChainableUndefined'>}},
1604 {'APP_DIRS': True,
1605 'BACKEND': 'django.template.backends.django.DjangoTemplates',
1606 'DIRS': [],
1607 'OPTIONS': {'context_processors': ['django.template.context_processors.media',
1608 'django.template.context_processors.static',
1609 'django.template.context_processors.debug',
1610 'django.template.context_processors.request',
1611 'django.contrib.messages.context_processors.messages',
1612 'django.contrib.auth.context_processors.auth']}}]
1613TEST_NON_SERIALIZED_APPS
1614[]
1615TEST_RUNNER
1616'django.test.runner.DiscoverRunner'
1617THOUSAND_SEPARATOR
1618','
1619TIME_FORMAT
1620'P'
1621TIME_INPUT_FORMATS
1622['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
1623TIME_ZONE
1624'Europe/Kiev'
1625TINYPNG_API_KEY
1626'********************'
1627USE_I18N
1628True
1629USE_L10N
1630True
1631USE_THOUSAND_SEPARATOR
1632False
1633USE_TZ
1634True
1635USE_X_FORWARDED_HOST
1636False
1637USE_X_FORWARDED_PORT
1638False
1639VERSATILEIMAGEFIELD_RENDITION_KEY_SETS
1640'********************'
1641WCD_GEO_DBSOURCES
1642{'SOURCE_IMPORT_RUNNERS': ('wcd_geo_db_sources.sources.katottg.process.KATOTTGImportRunner',
1643 'wcd_geo_db_sources.sources.katottg_to_koatuu.process.KATOTTG_TO_KOATUUImportRunner')}
1644WCD_USER_CHECKS
1645{'CACHE': 'default',
1646 'DEFINITIONS': None,
1647 'REGISTRY': 'wcd_user_checks.globals.registry'}
1648WCD_USER_CHECKS_DEFINITIONS
1649['wcd_user_checks.builtins.MANUAL_CHECK_DEFINITION',
1650 'apps.staff.checks.REGISTRATION_EMAIL',
1651 'apps.staff.checks.REGISTRATION_VERIFICATION',
1652 'apps.staff.checks.BANKID_ACCESS']
1653WC_BANKID_NBU_SIGNER_PRIVATE_KEY_PASS
1654'********************'
1655WC_BANKID_NBU_SIGNER_PRIVATE_KEY_PATH
1656'********************'
1657WEBPACK_LOADER
1658{'DEFAULT': {'STATS_FILE': PosixPath('/home/kupipai/kupipai/kupipai/server/apps/frontend/static/frontend/webpack-stats.json')}}
1659WSGI_APPLICATION
1660'app.wsgi.application'
1661X_FRAME_OPTIONS
1662'SAMEORIGIN'
1663YEAR_MONTH_FORMAT
1664'F Y'
1665You’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.