· 7 years ago · Apr 16, 2018, 01:30 PM
1POST https://backend.artwallet.ddgcorp.ru/api/v1/auth/token/obtain
2{"username":"ref@mailinator.com","password":"Oberon2008"}
3
4RuntimeError at /api/v1/auth/token/obtain
5You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to backend.artwallet.ddgcorp.ru/api/v1/auth/token/obtain/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
6
7Request Method: POST
8Request URL: http://backend.artwallet.ddgcorp.ru/api/v1/auth/token/obtain
9Django Version: 2.0.4
10Python Executable: /usr/local/bin/python
11Python Version: 3.6.5
12Python Path: ['/django', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages', '/django']
13Server time: Mon, 16 Apr 2018 13:27:41 +0000
14Installed Applications:
15['django.contrib.admin',
16 'django.contrib.auth',
17 'django.contrib.contenttypes',
18 'django.contrib.sessions',
19 'django.contrib.messages',
20 'django.contrib.staticfiles',
21 'rest_framework',
22 'corsheaders',
23 'artwallet.investor',
24 'artwallet.scheduler',
25 'social_django']
26Installed Middleware:
27['corsheaders.middleware.CorsMiddleware',
28 'django.middleware.security.SecurityMiddleware',
29 'django.contrib.sessions.middleware.SessionMiddleware',
30 'django.middleware.common.CommonMiddleware',
31 'django.middleware.csrf.CsrfViewMiddleware',
32 'django.contrib.auth.middleware.AuthenticationMiddleware',
33 'django.contrib.messages.middleware.MessageMiddleware',
34 'django.middleware.clickjacking.XFrameOptionsMiddleware']
35
36
37Traceback:
38
39File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
40 35. response = get_response(request)
41
42File "/usr/local/lib/python3.6/site-packages/django/utils/deprecation.py" in __call__
43 93. response = self.process_request(request)
44
45File "/usr/local/lib/python3.6/site-packages/django/middleware/common.py" in process_request
46 61. path = self.get_full_path_with_slash(request)
47
48File "/usr/local/lib/python3.6/site-packages/django/middleware/common.py" in get_full_path_with_slash
49 99. 'url': request.get_host() + new_path,
50
51Exception Type: RuntimeError at /api/v1/auth/token/obtain
52Exception Value: You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to backend.artwallet.ddgcorp.ru/api/v1/auth/token/obtain/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
53Request information:
54USER: [unable to retrieve the current user]
55
56GET: No GET data
57
58POST: No POST data
59
60FILES: No FILES data
61
62COOKIES: No cookie data
63
64META:
65CONTENT_LENGTH = '57'
66CONTENT_TYPE = 'application/json'
67DJANGO_SETTINGS_MODULE = 'artwallet.settings'
68GATEWAY_INTERFACE = 'CGI/1.1'
69GPG_KEY = '0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D'
70HOME = '/root'
71HOSTNAME = 'b1e1eda73f58'
72HTTP_ACCEPT = 'application/json, text/plain, */*'
73HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
74HTTP_ACCEPT_LANGUAGE = 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'
75HTTP_CACHE_CONTROL = 'no-cache'
76HTTP_CONNECTION = 'close'
77HTTP_HOST = 'backend.artwallet.ddgcorp.ru'
78HTTP_ORIGIN = 'https://artwallet.ddgcorp.ru'
79HTTP_PRAGMA = 'no-cache'
80HTTP_REFERER = 'https://artwallet.ddgcorp.ru/cabinet/auth/sign-in'
81HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
82HTTP_X_FORWARDED_FOR = '80.254.24.22'
83HTTP_X_REAL_IP = '80.254.24.22'
84HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
85LANG = 'C.UTF-8'
86PATH = '/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
87PATH_INFO = '/api/v1/auth/token/obtain'
88PYTHON_PIP_VERSION = '9.0.3'
89PYTHON_VERSION = '3.6.5'
90QUERY_STRING = ''
91REMOTE_ADDR = '172.18.0.1'
92REMOTE_HOST = ''
93REQUEST_METHOD = 'POST'
94RUN_MAIN = 'true'
95SCRIPT_NAME = ''
96SERVER_NAME = 'b1e1eda73f58'
97SERVER_PORT = '8000'
98SERVER_PROTOCOL = 'HTTP/1.0'
99SERVER_SOFTWARE = 'WSGIServer/0.2'
100TZ = 'UTC'
101wsgi.errors = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
102wsgi.file_wrapper = ''
103wsgi.input = <_io.BufferedReader name=7>
104wsgi.multiprocess = False
105wsgi.multithread = True
106wsgi.run_once = False
107wsgi.url_scheme = 'http'
108wsgi.version = '(1, 0)'
109
110Settings:
111Using settings module artwallet.settings
112ABI = ''
113ABSOLUTE_URL_OVERRIDES = {}
114ADMINS = []
115ALLOWED_HOSTS = ['*']
116APPEND_SLASH = True
117AUTHENTICATION_BACKENDS = "('social_core.backends.facebook.FacebookOAuth2', 'social_core.backends.google.GoogleOAuth2')"
118AUTH_PASSWORD_VALIDATORS = '********************'
119AUTH_USER_MODEL = 'auth.User'
120BASE_DIR = '/django'
121BITCOIN_ADDRESS = 'http://user:password@bitcoind:18332/'
122CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
123CACHE_MIDDLEWARE_ALIAS = 'default'
124CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
125CACHE_MIDDLEWARE_SECONDS = 600
126CELERY_ACCEPT_CONTENT = ['application/json']
127CELERY_BEAT_SCHEDULE = {'balance-listener': {'task': 'artwallet.scheduler.balance_listener.balance_listener', 'schedule': <crontab: * * * * * (m/h/d/dM/MY)>}}
128CELERY_BROKER_URL = 'redis://redis:6379'
129CELERY_IMPORTS = 'artwallet.scheduler.balance_listener'
130CELERY_RESULT_BACKEND = 'redis://redis:6379'
131CELERY_RESULT_SERIALIZER = 'json'
132CELERY_TASK_SERIALIZER = 'json'
133CONVERTER_ADDRESS = 'https://min-api.cryptocompare.com/data/price?fsym={fsym}&tsyms={tsyms}'
134CORS_ALLOW_CREDENTIALS = True
135CORS_ALLOW_HEADERS = "('accept', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'pragma', 'cache-control')"
136CORS_ORIGIN_ALLOW_ALL = True
137CSRF_COOKIE_AGE = 31449600
138CSRF_COOKIE_DOMAIN = None
139CSRF_COOKIE_HTTPONLY = False
140CSRF_COOKIE_NAME = 'csrftoken'
141CSRF_COOKIE_PATH = '/'
142CSRF_COOKIE_SECURE = False
143CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
144CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
145CSRF_TRUSTED_ORIGINS = []
146CSRF_USE_SESSIONS = False
147DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'artwallet', 'USER': 'artwallet', 'PASSWORD': '********************', 'HOST': 'db', 'PORT': '5432', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
148DATABASE_ROUTERS = []
149DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
150DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
151DATETIME_FORMAT = 'N j, Y, P'
152DATETIME_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']
153DATE_FORMAT = 'N j, Y'
154DATE_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']
155DEBUG = True
156DEBUG_PROPAGATE_EXCEPTIONS = False
157DECIMAL_SEPARATOR = '.'
158DEFAULT_CHARSET = 'utf-8'
159DEFAULT_CONTENT_TYPE = 'text/html'
160DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
161DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
162DEFAULT_FROM_EMAIL = 'webmaster@localhost'
163DEFAULT_INDEX_TABLESPACE = ''
164DEFAULT_TABLESPACE = ''
165DISALLOWED_USER_AGENTS = []
166EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
167EMAIL_HOST = 'happiness.anocms.org'
168EMAIL_HOST_PASSWORD = '********************'
169EMAIL_HOST_USER = 'no-reply@happiness.anocms.org'
170EMAIL_PORT = 10587
171EMAIL_SSL_CERTFILE = None
172EMAIL_SSL_KEYFILE = '********************'
173EMAIL_SUBJECT_PREFIX = '[Django] '
174EMAIL_TIMEOUT = None
175EMAIL_USE_LOCALTIME = False
176EMAIL_USE_SSL = False
177EMAIL_USE_TLS = True
178ETH_ADDRESS = 'http://127.0.0.1:8545/'
179FILE_CHARSET = 'utf-8'
180FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
181FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
182FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
183FILE_UPLOAD_PERMISSIONS = None
184FILE_UPLOAD_TEMP_DIR = None
185FIRST_DAY_OF_WEEK = 0
186FIXTURE_DIRS = []
187FORCE_SCRIPT_NAME = None
188FORMAT_MODULE_PATH = None
189FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
190FROM_ADDR = ''
191FROM_PRIV = ''
192FRONTEND_URL = 'https://artwallet.ddgcorp.ru/cabinet'
193IGNORABLE_404_URLS = []
194INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'corsheaders', 'artwallet.investor', 'artwallet.scheduler', 'social_django']
195INTERNAL_IPS = []
196JWT_AUTH = {'JWT_ALLOW_REFRESH': True, 'JWT_EXPIRATION_DELTA': datetime.timedelta(1), 'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(7)}
197LANGUAGES = [('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'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian BokmГÒl'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
198LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
199LANGUAGE_CODE = 'en-us'
200LANGUAGE_COOKIE_AGE = None
201LANGUAGE_COOKIE_DOMAIN = None
202LANGUAGE_COOKIE_NAME = 'django_language'
203LANGUAGE_COOKIE_PATH = '/'
204LOCALE_PATHS = []
205LOGGING = {'version': 1, 'disable_existing_loggers': False, 'handlers': {'file': {'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': './logs/debug.log'}}, 'loggers': {'django.request': {'handlers': ['file'], 'level': 'ERROR', 'propagate': True}, 'django': {'handlers': ['file'], 'level': 'ERROR', 'propagate': False}}}
206LOGGING_CONFIG = 'logging.config.dictConfig'
207LOGIN_REDIRECT_URL = '/social_login'
208LOGIN_URL = '/accounts/login/'
209LOGOUT_REDIRECT_URL = None
210LTC_ADDRESS = 'http://user:password@127.0.0.1:9332/'
211MANAGERS = []
212MEDIA_ROOT = ''
213MEDIA_URL = ''
214MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
215MIDDLEWARE = ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']
216MIGRATION_MODULES = {}
217MONTH_DAY_FORMAT = 'F j'
218NUMBER_GROUPING = 0
219PASSWORD_HASHERS = '********************'
220PASSWORD_RESET_TIMEOUT_DAYS = '********************'
221PREPEND_WWW = False
222REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',), 'DEFAULT_AUTHENTICATION_CLASSES': ('artwallet.investor.jwt_authentication.UserJSONWebTokenAuthentication',)}
223ROOT_URLCONF = 'artwallet.urls'
224SCHEDULER_USER_PART_COUNT = 4
225SECRET_KEY = '********************'
226SECURE_BROWSER_XSS_FILTER = False
227SECURE_CONTENT_TYPE_NOSNIFF = False
228SECURE_HSTS_INCLUDE_SUBDOMAINS = False
229SECURE_HSTS_PRELOAD = False
230SECURE_HSTS_SECONDS = 0
231SECURE_PROXY_SSL_HEADER = None
232SECURE_REDIRECT_EXEMPT = []
233SECURE_SSL_HOST = None
234SECURE_SSL_REDIRECT = False
235SERVER_EMAIL = 'root@localhost'
236SESSION_CACHE_ALIAS = 'default'
237SESSION_COOKIE_AGE = 1209600
238SESSION_COOKIE_DOMAIN = None
239SESSION_COOKIE_HTTPONLY = True
240SESSION_COOKIE_NAME = 'sessionid'
241SESSION_COOKIE_PATH = '/'
242SESSION_COOKIE_SECURE = False
243SESSION_ENGINE = 'django.contrib.sessions.backends.db'
244SESSION_EXPIRE_AT_BROWSER_CLOSE = False
245SESSION_FILE_PATH = None
246SESSION_SAVE_EVERY_REQUEST = False
247SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
248SETTINGS_MODULE = 'artwallet.settings'
249SHORT_DATETIME_FORMAT = 'm/d/Y P'
250SHORT_DATE_FORMAT = 'm/d/Y'
251SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
252SILENCED_SYSTEM_CHECKS = []
253SOCIAL_AUTH_FACEBOOK_KEY = '********************'
254SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']
255SOCIAL_AUTH_FACEBOOK_SECRET = '********************'
256SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '********************'
257SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = ['https://www.googleapis.com/auth/userinfo.email']
258SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = '********************'
259SOCIAL_AUTH_PIPELINE = "('social_core.pipeline.social_auth.social_details', 'social_core.pipeline.social_auth.social_uid', 'social_core.pipeline.social_auth.auth_allowed', 'social_core.pipeline.social_auth.social_user', 'social_core.pipeline.social_auth.associate_by_email', 'artwallet.investor.pipeline.create_user', 'social_core.pipeline.social_auth.load_extra_data', 'social_core.pipeline.user.user_details', 'artwallet.investor.pipeline.get_token')"
260SOCIAL_AUTH_POSTGRES_JSONFIELD = True
261SOCIAL_AUTH_REDIRECT_IS_HTTPS = True
262SOCIAL_AUTH_USER_MODEL = 'investor.User'
263STATICFILES_DIRS = []
264STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
265STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
266STATIC_ROOT = None
267STATIC_URL = '/static/'
268TEMPLATES = [{'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']}}]
269TEST_NON_SERIALIZED_APPS = []
270TEST_RUNNER = 'django.test.runner.DiscoverRunner'
271THOUSAND_SEPARATOR = ','
272TIME_FORMAT = 'P'
273TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
274TIME_ZONE = 'UTC'
275TOKEN = '********************'
276USE_ETAGS = False
277USE_I18N = True
278USE_L10N = True
279USE_THOUSAND_SEPARATOR = False
280USE_TZ = True
281USE_X_FORWARDED_HOST = False
282USE_X_FORWARDED_PORT = False
283WSGI_APPLICATION = 'artwallet.wsgi.application'
284X_FRAME_OPTIONS = 'SAMEORIGIN'
285YEAR_MONTH_FORMAT = 'F Y'
286
287
288You're seeing this error because you have DEBUG = True in your
289Django settings file. Change that to False, and Django will
290display a standard page generated by the handler for this status code.