· 8 years ago · Dec 21, 2017, 08:20 PM
1curl 'http://delivery.moscowfresh.ru/route/' -H 'Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJuYW1lIjoiZGVsaXZlcnlAbW9zY293ZnJlc2guY29tIiwidXNlcm5hbWUiOiJkZWxpdmVyeSIsImV4cCI6MTUxMzg5NTUyMX0.2k7LlVnCftpEeedtJCOu6qkn1oc5-4P4jRrzALFxPGE' -H 'Origin: http://localhost:8080' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36' -H 'Content-Type: application/json' -H 'Accept: */*' -H 'Referer: http://localhost:8080/' -H 'Connection: keep-alive' --data-binary '{"orders":[60203,60201]}' --compressed
2
3ответ ошибка 500
4
5IndexError at /route/
6Cannot choose from an empty sequence
7
8Request Method: POST
9Request URL: http://delivery.moscowfresh.ru/route/
10Django Version: 1.11
11Python Executable: /usr/local/bin/uwsgi
12Python Version: 3.6.3
13Python Path: ['.', '', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages', '/src/djangorestframework-jwt']
14Server time: Thu, 21 Dec 2017 20:14:09 +0000
15Installed Applications:
16['django.contrib.admin',
17 'django.contrib.auth',
18 'django.contrib.contenttypes',
19 'django.contrib.sessions',
20 'django.contrib.messages',
21 'django.contrib.staticfiles',
22 'django.contrib.gis',
23 'corsheaders',
24 'user',
25 'courier',
26 'shop',
27 'route',
28 'order',
29 'extensions',
30 'rest_framework',
31 'mapwidgets',
32 'django_rq',
33 'jsoneditor']
34Installed Middleware:
35['django.middleware.security.SecurityMiddleware',
36 'django.contrib.sessions.middleware.SessionMiddleware',
37 'django.middleware.common.CommonMiddleware',
38 'django.middleware.csrf.CsrfViewMiddleware',
39 'django.contrib.auth.middleware.AuthenticationMiddleware',
40 'django.contrib.messages.middleware.MessageMiddleware',
41 'django.middleware.clickjacking.XFrameOptionsMiddleware',
42 'corsheaders.middleware.CorsMiddleware',
43 'shop.middleware.ShopMiddleware']
44
45
46Traceback:
47
48File "/usr/local/lib/python3.6/random.py" in choice
49 255. i = self._randbelow(len(seq))
50
51File "/usr/local/lib/python3.6/random.py" in _randbelow
52 232. r = getrandbits(k) # 0 <= r < 2**k
53
54
55 During handling of the above exception (number of bits must be greater than zero), another exception occurred:
56
57
58
59File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
60 41. response = get_response(request)
61
62File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
63 187. response = self.process_exception_by_middleware(e, request)
64
65File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
66 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
67
68File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
69 58. return view_func(*args, **kwargs)
70
71File "/usr/local/lib/python3.6/site-packages/rest_framework/viewsets.py" in view
72 95. return self.dispatch(request, *args, **kwargs)
73
74File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
75 494. response = self.handle_exception(exc)
76
77File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception
78 454. self.raise_uncaught_exception(exc)
79
80File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
81 491. response = handler(request, *args, **kwargs)
82
83File "./abstractions/viewsets.py" in create
84 19. return super(TModelViewSet, self).create(request, *args, **kwargs)
85
86File "/usr/local/lib/python3.6/site-packages/rest_framework/mixins.py" in create
87 21. self.perform_create(serializer)
88
89File "/usr/local/lib/python3.6/site-packages/rest_framework/mixins.py" in perform_create
90 26. serializer.save()
91
92File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py" in save
93 214. self.instance = self.create(validated_data)
94
95File "./route/serializers.py" in create
96 75. estimate_route.delay(route)
97
98File "/usr/local/lib/python3.6/site-packages/rq/decorators.py" in delay
99 50. ttl=self.ttl, depends_on=depends_on, at_front=at_front)
100
101File "/usr/local/lib/python3.6/site-packages/django_rq/queues.py" in enqueue_call
102 60. return self.original_enqueue_call(*args, **kwargs)
103
104File "/usr/local/lib/python3.6/site-packages/django_rq/queues.py" in original_enqueue_call
105 56. return super(DjangoRQ, self).enqueue_call(*args, **kwargs)
106
107File "/usr/local/lib/python3.6/site-packages/rq/queue.py" in enqueue_call
108 252. job = self.enqueue_job(job, at_front=at_front)
109
110File "/usr/local/lib/python3.6/site-packages/rq/queue.py" in enqueue_job
111 328. job = self.run_job(job)
112
113File "/usr/local/lib/python3.6/site-packages/rq/queue.py" in run_job
114 257. job.perform()
115
116File "/usr/local/lib/python3.6/site-packages/rq/job.py" in perform
117 558. self._result = self._execute()
118
119File "/usr/local/lib/python3.6/site-packages/rq/job.py" in _execute
120 564. return self.func(*self.args, **self.kwargs)
121
122File "./route/tasks.py" in estimate_route
123 46. sorted_points, seconds = simulated_annealing_tsp(graph, source=source_id, iterations=100)
124
125File "./lib/tsp.py" in simulated_annealing_tsp
126 267. adj_sol = _apply_move(cycle, move)
127
128File "./lib/tsp.py" in _apply_move
129 303. b = choice(listb)
130
131File "/usr/local/lib/python3.6/random.py" in choice
132 257. raise IndexError('Cannot choose from an empty sequence') from None
133
134Exception Type: IndexError at /route/
135Exception Value: Cannot choose from an empty sequence
136Request information:
137USER: delivery
138
139GET: No GET data
140
141POST: No POST data
142
143FILES: No FILES data
144
145COOKIES: No cookie data
146
147META:
148CONTENT_LENGTH = '24'
149CONTENT_TYPE = 'application/json'
150HTTP_ACCEPT = '*/*'
151HTTP_ACCEPT_ENCODING = 'gzip, deflate'
152HTTP_ACCEPT_LANGUAGE = 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'
153HTTP_AUTHORIZATION = 'JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJuYW1lIjoiZGVsaXZlcnlAbW9zY293ZnJlc2guY29tIiwidXNlcm5hbWUiOiJkZWxpdmVyeSIsImV4cCI6MTUxMzg5NTUyMX0.2k7LlVnCftpEeedtJCOu6qkn1oc5-4P4jRrzALFxPGE'
154HTTP_CONNECTION = 'close'
155HTTP_HOST = 'delivery.moscowfresh.ru'
156HTTP_ORIGIN = 'http://localhost:8080'
157HTTP_REFERER = 'http://localhost:8080/'
158HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36'
159HTTP_X_FORWARDED_HOST = 'delivery.moscowfresh.ru'
160HTTP_X_REAL_IP = '37.17.49.46'
161PATH_INFO = '/route/'
162QUERY_STRING = ''
163REMOTE_ADDR = '172.18.0.1'
164REMOTE_PORT = '18646'
165REQUEST_METHOD = 'POST'
166REQUEST_URI = '/route/'
167SCRIPT_NAME = ''
168SERVER_NAME = '1b0eb9cd9edc'
169SERVER_PORT = '8000--processes=5'
170SERVER_PROTOCOL = 'HTTP/1.0'
171UWSGI_ROUTER = 'http'
172uwsgi.node = b'1b0eb9cd9edc'
173uwsgi.version = b'2.0.15'
174wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
175wsgi.file_wrapper = ''
176wsgi.input = <uwsgi._Input object at 0x7f1cc9f2ee88>
177wsgi.multiprocess = False
178wsgi.multithread = False
179wsgi.run_once = False
180wsgi.url_scheme = 'http'
181wsgi.version =
182
183Settings:
184Using settings module tmap.settings
185ABSOLUTE_URL_OVERRIDES = {}
186ADMINS = []
187ALLOWED_HOSTS = ['*']
188APPEND_SLASH = True
189AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
190AUTH_PASSWORD_VALIDATORS = '********************'
191AUTH_USER_MODEL = 'user.ApiUser'
192AUTO_TYPE =
193BASE_DIR = '/code'
194CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
195CACHE_MIDDLEWARE_ALIAS = 'default'
196CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
197CACHE_MIDDLEWARE_SECONDS = 600
198CHECK_MAGENTO_ORDERS_INTERVAL = 60
199COURIER_ASSIGNED = 1
200COURIER_BUSY = 3
201COURIER_FREE = 0
202COURIER_OFFLINE = 2
203COURIER_STATUS =
204COURIER_TYPE =
205CSRF_COOKIE_AGE = 31449600
206CSRF_COOKIE_DOMAIN = None
207CSRF_COOKIE_HTTPONLY = False
208CSRF_COOKIE_NAME = 'csrftoken'
209CSRF_COOKIE_PATH = '/'
210CSRF_COOKIE_SECURE = False
211CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
212CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
213CSRF_TRUSTED_ORIGINS = []
214CSRF_USE_SESSIONS = False
215DATABASES = {'default': {'ENGINE': 'django.contrib.gis.db.backends.postgis', 'NAME': 'tmap', 'USER': 'tmap', 'PASSWORD': '********************', 'HOST': 'tmap.cqxg0jiczh4k.eu-central-1.rds.amazonaws.com', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
216DATABASE_ROUTERS = []
217DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
218DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
219DATETIME_FORMAT = 'N j, Y, P'
220DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
221DATE_FORMAT = 'N j, Y'
222DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
223DEBUG = True
224DEBUG_PROPAGATE_EXCEPTIONS = False
225DECIMAL_SEPARATOR = '.'
226DEFAULT_CHARSET = 'utf-8'
227DEFAULT_CONTENT_TYPE = 'text/html'
228DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
229DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
230DEFAULT_FROM_EMAIL = 'webmaster@localhost'
231DEFAULT_INDEX_TABLESPACE = ''
232DEFAULT_SHOP = 2
233DEFAULT_TABLESPACE = ''
234DEVELOPMENT_APPS = []
235DISALLOWED_USER_AGENTS = []
236EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
237EMAIL_HOST = 'localhost'
238EMAIL_HOST_PASSWORD = '********************'
239EMAIL_HOST_USER = ''
240EMAIL_PORT = 25
241EMAIL_SSL_CERTFILE = None
242EMAIL_SSL_KEYFILE = '********************'
243EMAIL_SUBJECT_PREFIX = '[Django] '
244EMAIL_TIMEOUT = None
245EMAIL_USE_LOCALTIME = False
246EMAIL_USE_SSL = False
247EMAIL_USE_TLS = False
248FILE_CHARSET = 'utf-8'
249FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
250FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
251FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
252FILE_UPLOAD_PERMISSIONS = None
253FILE_UPLOAD_TEMP_DIR = None
254FIRST_DAY_OF_WEEK = 0
255FIXTURE_DIRS = []
256FIXTURE_PATH = '/fixtures/'
257FORCE_SCRIPT_NAME = None
258FORMAT_MODULE_PATH = None
259FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
260GOOGLE_API_KEY = '********************'
261IGNORABLE_404_URLS = []
262INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.gis', 'corsheaders', 'user', 'courier', 'shop', 'route', 'order', 'extensions', 'rest_framework', 'mapwidgets', 'django_rq', 'jsoneditor']
263INTERNAL_IPS = []
264JSON_EDITOR_CSS = 'https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/5.9.5/jsoneditor.css'
265JSON_EDITOR_JS = 'https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/5.9.5/jsoneditor.js'
266JWT_AUTH = {'JWT_EXPIRATION_DELTA': datetime.timedelta(0, 9000)}
267LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
268LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
269LANGUAGE_CODE = 'en-us'
270LANGUAGE_COOKIE_AGE = None
271LANGUAGE_COOKIE_DOMAIN = None
272LANGUAGE_COOKIE_NAME = 'django_language'
273LANGUAGE_COOKIE_PATH = '/'
274LOCALE_PATHS = []
275LOGGING = {}
276LOGGING_CONFIG = 'logging.config.dictConfig'
277LOGIN_REDIRECT_URL = '/accounts/profile/'
278LOGIN_URL = '/accounts/login/'
279LOGOUT_REDIRECT_URL = None
280MAGENTO_API_URL = '********************'
281MAGENTO_ORDER_OFFSET = 60000
282MAGENTO_PASSWORD = '********************'
283MAGENTO_USER = 'tmap'
284MANAGERS = []
285MAP_WIDGETS = {'GOOGLE_MAP_API_KEY': '********************'}
286MEDIA_ROOT = ''
287MEDIA_URL = ''
288MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
289MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'corsheaders.middleware.CorsMiddleware', 'shop.middleware.ShopMiddleware']
290MIDDLEWARE_CLASSES = ['django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware']
291MIGRATION_MODULES = {}
292MONTH_DAY_FORMAT = 'F j'
293NUMBER_GROUPING = 0
294ORDER_ASSIGNED = 3
295ORDER_CREATED = 0
296ORDER_FINISHED = 2
297ORDER_IN_PROCESS = 1
298ORDER_STATUS =
299PASSWORD_HASHERS = '********************'
300PASSWORD_RESET_TIMEOUT_DAYS = '********************'
301POINT_STATUS =
302PREPEND_WWW = False
303REDIS_HOST = 'redis'
304REDIS_PORT = 6379
305ROOT_URLCONF = 'tmap.urls'
306ROUTE_ASSIGNED = 3
307ROUTE_CREATED = 0
308ROUTE_FINISHED = 2
309ROUTE_IN_PROCESS = 1
310ROUTE_STATUS =
311RQ_QUEUES = {'default': {'HOST': 'redis', 'PORT': 6379, 'DB': 10, 'DEFAULT_TIMEOUT': 3600, 'ASYNC': False}}
312SCHEDULER_DB = 10
313SECRET_KEY = '********************'
314SECURE_BROWSER_XSS_FILTER = False
315SECURE_CONTENT_TYPE_NOSNIFF = False
316SECURE_HSTS_INCLUDE_SUBDOMAINS = False
317SECURE_HSTS_PRELOAD = False
318SECURE_HSTS_SECONDS = 0
319SECURE_PROXY_SSL_HEADER = None
320SECURE_REDIRECT_EXEMPT = []
321SECURE_SSL_HOST = None
322SECURE_SSL_REDIRECT = False
323SERVER_EMAIL = 'root@localhost'
324SESSION_CACHE_ALIAS = 'default'
325SESSION_COOKIE_AGE = 1209600
326SESSION_COOKIE_DOMAIN = None
327SESSION_COOKIE_HTTPONLY = True
328SESSION_COOKIE_NAME = 'sessionid'
329SESSION_COOKIE_PATH = '/'
330SESSION_COOKIE_SECURE = False
331SESSION_ENGINE = 'django.contrib.sessions.backends.db'
332SESSION_EXPIRE_AT_BROWSER_CLOSE = False
333SESSION_FILE_PATH = None
334SESSION_SAVE_EVERY_REQUEST = False
335SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
336SETTINGS_MODULE = 'tmap.settings'
337SHORT_DATETIME_FORMAT = 'm/d/Y P'
338SHORT_DATE_FORMAT = 'm/d/Y'
339SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
340SILENCED_SYSTEM_CHECKS = []
341STATICFILES_DIRS = []
342STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
343STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
344STATIC_ROOT = '/static/'
345STATIC_URL = '/static/'
346TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}]
347TEST_NON_SERIALIZED_APPS = []
348TEST_RUNNER = 'django.test.runner.DiscoverRunner'
349THOUSAND_SEPARATOR = ','
350TIME_FORMAT = 'P'
351TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
352TIME_PER_POINT = 900
353TIME_ZONE = 'UTC'
354USE_ETAGS = False
355USE_I18N = True
356USE_L10N = True
357USE_THOUSAND_SEPARATOR = False
358USE_TZ = True
359USE_X_FORWARDED_HOST = False
360USE_X_FORWARDED_PORT = False
361WSGI_APPLICATION = 'tmap.wsgi.application'
362X_FRAME_OPTIONS = 'SAMEORIGIN'
363YEAR_MONTH_FORMAT = 'F Y'
364
365
366You're seeing this error because you have DEBUG = True in your
367Django settings file. Change that to False, and Django will
368display a standard page generated by the handler for this status code.
369
370ПоÑле Ñтого запрашиваем маршруты и видим, что новый маршрут вÑе-таки был Ñоздан,
371а именно:
372http://delivery.moscowfresh.ru/route/209
373
374{
375 "id": 209,
376 "shop": {
377 "name": "Moscow Fresh"
378 },
379 "orders": [
380 60203,
381 60201
382 ],
383 "status": 0,
384 "start_time": null,
385 "end_time": null,
386 "estimated_distance": null,
387 "estimated_time": null,
388 "courier": null
389}