Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <meta name="robots" content="NONE,NOARCHIVE">
- <title>AttributeError at /v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063</title>
- <style type="text/css">
- html * { padding:0; margin:0; }
- body * { padding:10px 20px; }
- body * * { padding:0; }
- body { font:small sans-serif; }
- body>div { border-bottom:1px solid #ddd; }
- h1 { font-weight:normal; }
- h2 { margin-bottom:.8em; }
- h2 span { font-size:80%; color:#666; font-weight:normal; }
- h3 { margin:1em 0 .5em 0; }
- h4 { margin:0 0 .5em 0; font-weight: normal; }
- code, pre { font-size: 100%; white-space: pre-wrap; }
- table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
- tbody td, tbody th { vertical-align:top; padding:2px 3px; }
- thead th { padding:1px 6px 1px 3px; background:#fefefe; text-align:left; font-weight:normal; font-size:11px; border:1px solid #ddd; }
- tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
- table.vars { margin:5px 0 2px 40px; }
- table.vars td, table.req td { font-family:monospace; }
- table td.code { width:100%; }
- table td.code pre { overflow:hidden; }
- table.source th { color:#666; }
- table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
- ul.traceback { list-style-type:none; color: #222; }
- ul.traceback li.frame { padding-bottom:1em; color:#666; }
- ul.traceback li.user { background-color:#e0e0e0; color:#000 }
- div.context { padding:10px 0; overflow:hidden; }
- div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
- div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; }
- div.context ol li pre { display:inline; }
- div.context ol.context-line li { color:#505050; background-color:#dfdfdf; }
- div.context ol.context-line li span { position:absolute; right:32px; }
- .user div.context ol.context-line li { background-color:#bbb; color:#000; }
- .user div.context ol li { color:#666; }
- div.commands { margin-left: 40px; }
- div.commands a { color:#555; text-decoration:none; }
- .user div.commands a { color: black; }
- #summary { background: #ffc; }
- #summary h2 { font-weight: normal; color: #666; }
- #explanation { background:#eee; }
- #template, #template-not-exist { background:#f6f6f6; }
- #template-not-exist ul { margin: 0 0 0 20px; }
- #unicode-hint { background:#eee; }
- #traceback { background:#eee; }
- #requestinfo { background:#f6f6f6; padding-left:120px; }
- #summary table { border:none; background:transparent; }
- #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
- #requestinfo h3 { margin-bottom:-1em; }
- .error { background: #ffc; }
- .specific { color:#cc3300; font-weight:bold; }
- h2 span.commands { font-size:.7em;}
- span.commands a:link {color:#5E5694;}
- pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
- </style>
- <script type="text/javascript">
- //<!--
- function getElementsByClassName(oElm, strTagName, strClassName){
- // Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
- var arrElements = (strTagName == "*" && document.all)? document.all :
- oElm.getElementsByTagName(strTagName);
- var arrReturnElements = new Array();
- strClassName = strClassName.replace(/\-/g, "\-");
- var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
- var oElement;
- for(var i=0; i<arrElements.length; i++){
- oElement = arrElements[i];
- if(oRegExp.test(oElement.className)){
- arrReturnElements.push(oElement);
- }
- }
- return (arrReturnElements)
- }
- function hideAll(elems) {
- for (var e = 0; e < elems.length; e++) {
- elems[e].style.display = 'none';
- }
- }
- window.onload = function() {
- hideAll(getElementsByClassName(document, 'table', 'vars'));
- hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
- hideAll(getElementsByClassName(document, 'ol', 'post-context'));
- hideAll(getElementsByClassName(document, 'div', 'pastebin'));
- }
- function toggle() {
- for (var i = 0; i < arguments.length; i++) {
- var e = document.getElementById(arguments[i]);
- if (e) {
- e.style.display = e.style.display == 'none' ? 'block' : 'none';
- }
- }
- return false;
- }
- function varToggle(link, id) {
- toggle('v' + id);
- var s = link.getElementsByTagName('span')[0];
- var uarr = String.fromCharCode(0x25b6);
- var darr = String.fromCharCode(0x25bc);
- s.innerHTML = s.innerHTML == uarr ? darr : uarr;
- return false;
- }
- function switchPastebinFriendly(link) {
- s1 = "Switch to copy-and-paste view";
- s2 = "Switch back to interactive view";
- link.innerHTML = link.innerHTML == s1 ? s2 : s1;
- toggle('browserTraceback', 'pastebinTraceback');
- return false;
- }
- //-->
- </script>
- </head>
- <body>
- <div id="summary">
- <h1>AttributeError at /v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063</h1>
- <pre class="exception_value">This QueryDict instance is immutable</pre>
- <table class="meta">
- <tr>
- <th>Request Method:</th>
- <td>POST</td>
- </tr>
- <tr>
- <th>Request URL:</th>
- <td>http://127.0.0.1:8085/v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063</td>
- </tr>
- <tr>
- <th>Django Version:</th>
- <td>1.6.1</td>
- </tr>
- <tr>
- <th>Exception Type:</th>
- <td>AttributeError</td>
- </tr>
- <tr>
- <th>Exception Value:</th>
- <td><pre>This QueryDict instance is immutable</pre></td>
- </tr>
- <tr>
- <th>Exception Location:</th>
- <td>/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/http/request.py in _assert_mutable, line 315</td>
- </tr>
- <tr>
- <th>Python Executable:</th>
- <td>/home/gorynych/data/.virtualenvs/djangocore/bin/python</td>
- </tr>
- <tr>
- <th>Python Version:</th>
- <td>2.7.5</td>
- </tr>
- <tr>
- <th>Python Path:</th>
- <td><pre>['/home/gorynych/data/api',
- '/home/gorynych/data/api',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/pika-0.9.14p1-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django_ldapdb-0.3.0-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/drf_nested_routers-0.1.3-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/lettuce-0.2.19-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/python_subunit-0.0.18-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/testtools-0.9.35-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/testscenarios-0.4-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/extras-0.0.3-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/python_mimeparse-0.1.4-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django_filter-0.7-py2.7.egg',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python27.zip',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/plat-freebsd9',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/lib-tk',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/lib-old',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/lib-dynload',
- '/usr/local/lib/python2.7',
- '/usr/local/lib/python2.7/plat-freebsd9',
- '/usr/local/lib/python2.7/lib-tk',
- '/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages']</pre></td>
- </tr>
- <tr>
- <th>Server time:</th>
- <td>Wed, 16 Apr 2014 14:24:10 +0000</td>
- </tr>
- </table>
- </div>
- <div id="traceback">
- <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">Switch to copy-and-paste view</a></span></h2>
- <div id="browserTraceback">
- <ul class="traceback">
- <li class="frame django">
- <code>/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>get_response</code>
- <div class="context" id="c34563746848">
- <ol start="107" class="pre-context" id="pre34563746848"><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> if response:</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> break</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre></pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> if response is None:</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> try:</pre></li></ol>
- <ol start="114" class="context-line"><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol>
- <ol start='115' class="post-context" id="post34563746848"><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> except Exception as e:</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> # If the view raised an exception, run it through exception</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> # middleware, and if the exception middleware returns a</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> # response, use that. Otherwise, reraise the exception.</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> for middleware_method in self._exception_middleware:</pre></li><li onclick="toggle('pre34563746848', 'post34563746848')"><pre> response = middleware_method(request, e)</pre></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '34563746848')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v34563746848">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>e</td>
- <td class="code"><pre>AttributeError(u'This QueryDict instance is immutable',)</pre></td>
- </tr>
- <tr>
- <td>callback_args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>resolver_match</td>
- <td class="code"><pre>ResolverMatch(func=<function message_view at 0x8091739b0>, args=(), kwargs={'task_id': u'r-45f3fd8b-7911-49bb-9c0c-cd753c515063'}, url_name='rest_framework.decorators.message_view', app_name='None', namespace='')</pre></td>
- </tr>
- <tr>
- <td>middleware_method</td>
- <td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x8098ad890>></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x808c9c310></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre>'<WSGIRequest\npath:/v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {u\'body\': [u\'111\'], u\'to\': [u\'\'], u\'from\': [u\'pers-140321-1137964114\'], u\'sender\': [u\'mobile_app\']}>,\nCOOKIES:{},\nMETA:{\'BLOCKSIZE\': \'K\',\n \'CONTENT_LENGTH\': \'58\',\n \'CONTENT_TYPE\': \'application/x-www-form-urlencoded; charset=utf-8\',\n u\'CSRF_COOKIE\': u\'6SgRXN77DDK3b4Ca9PppvLilNWlPU4w8\',\n \'DJANGO_SETTINGS_MODULE\': \'coreapi.settings\',\n \'EDITOR\': \'/usr/local/bin/vim\',\n \'FTP_PASSIVE_MODE\': \'YES\',\n \'GATEWAY_INTERFACE\': \'CGI/1.1\',\n \'HOME\': \'/home/gorynych/data\',\n \'HTTP_ACCEPT\': \'*/*\',\n \'HTTP_ACCEPT_ENCODING\': \'gzip, deflate\',\n \'HTTP_ACCEPT_LANGUAGE\': \'ru;q=1, en;q=0.9, de;q=0.8, es;q=0.7, fr;q=0.6, ja;q=0.5\',\n \'HTTP_CONNECTION\': \'close\',\n \'HTTP_HOST\': \'127.0.0.1:8085\',\n \'HTTP_USER_AGENT\': \'AirTribune/0.2.49 (iPhone; iOS 7.1; Scale/2.00)\',\n \'LANG\': \'ru_RU.UTF-8\',\n \'LC_ALL\': \'ru_RU.UTF-8\',\n \'LOGNAME\': \'gorynych\',\n \'MAIL\': \'/var/mail/gorynych\',\n \'OLDPWD\': \'/home/gorynych/data\',\n \'PATH\': \'/home/gorynych/data/.virtualenvs/djangocore/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/gorynych/data/bin\',\n \'PATH_INFO\': u\'/v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063\',\n \'PS1\': \'(djangocore)\\\\[\\\\033[00;32m\\\\][`date +%d"/"%m"/"%Y" "%T`] \\\\u@\\\\h \\\\w\\\\[\\\\033[01;33m\\\\]$(__git_ps1 " (%s)")\\\\[\\\\033[01;34m\\\\]\\\\n \\\\$\\\\[\\\\033[00m\\\\] \',\n \'PWD\': \'/home/gorynych/data/api\',\n \'QUERY_STRING\': \'\',\n \'REMOTE_ADDR\': \'127.0.0.1\',\n \'REMOTE_HOST\': \'\',\n \'REQUEST_METHOD\': \'POST\',\n \'RUN_MAIN\': \'true\',\n \'SCRIPT_NAME\': u\'\',\n \'SERVER_NAME\': \'codecat.ru\',\n \'SERVER_PORT\': \'8085\',\n \'SERVER_PROTOCOL\': \'HTTP/1.0\',\n \'SERVER_SOFTWARE\': \'WSGIServer/0.1 Python/2.7.5\',\n \'SHELL\': \'/usr/local/bin/bash\',\n \'SHLVL\': \'1\',\n \'SSH_CLIENT\': \'128.71.71.213 60272 2043\',\n \'SSH_CONNECTION\': \'128.71.71.213 60272 195.208.25.206 2043\',\n \'SSH_TTY\': \'/dev/pts/1\',\n \'TERM\': \'xterm\',\n \'TZ\': \'UTC\',\n \'USER\': \'gorynych\',\n \'VIRTUALENVWRAPPER_HOOK_DIR\': \'/home/gorynych/data/.virtualenvs\',\n \'VIRTUALENVWRAPPER_PROJECT_FILENAME\': \'.project\',\n \'VIRTUAL_ENV\': \'/home/gorynych/data/.virtualenvs/djangocore\',\n \'WORKON_HOME\': \'/home/gorynych/data/.virtualenvs\',\n \'_\': \'/home/gorynych/data/.virtualenvs/djangocore/bin/python\',\n \'wsgi.errors\': <open file \'<stderr>\', mode \'w\' at 0x8018411e0>,\n \'wsgi.file_wrapper\': <class wsgiref.util.FileWrapper at 0x80636ece8>,\n \'wsgi.input\': <socket._fileobject object at 0x80c2a34d0>,\n \'wsgi.multiprocess\': False,\n \'wsgi.multithread\': True,\n \'wsgi.run_once\': False,\n \'wsgi.url_scheme\': \'http\',\n \'wsgi.version\': (1, 0)}>'</pre></td>
- </tr>
- <tr>
- <td>callback</td>
- <td class="code"><pre><function message_view at 0x8091739b0></pre></td>
- </tr>
- <tr>
- <td>wrapped_callback</td>
- <td class="code"><pre><function message_view at 0x8091739b0></pre></td>
- </tr>
- <tr>
- <td>resolver</td>
- <td class="code"><pre><RegexURLResolver 'coreapi.urls' (None:None) ^/></pre></td>
- </tr>
- <tr>
- <td>callback_kwargs</td>
- <td class="code"><pre>{'task_id': u'r-45f3fd8b-7911-49bb-9c0c-cd753c515063'}</pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>urlconf</td>
- <td class="code"><pre>'coreapi.urls'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/views/generic/base.py</code> in <code>view</code>
- <div class="context" id="c34563744688">
- <ol start="62" class="pre-context" id="pre34563744688"><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> def view(request, *args, **kwargs):</pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> self = cls(**initkwargs)</pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> if hasattr(self, 'get') and not hasattr(self, 'head'):</pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> self.head = self.get</pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> self.request = request</pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> self.args = args</pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> self.kwargs = kwargs</pre></li></ol>
- <ol start="69" class="context-line"><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> return self.dispatch(request, *args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='70' class="post-context" id="post34563744688"><li onclick="toggle('pre34563744688', 'post34563744688')"><pre></pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> # take name and docstring from class</pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> update_wrapper(view, cls, updated=())</pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre></pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> # and possible attributes set by decorators</pre></li><li onclick="toggle('pre34563744688', 'post34563744688')"><pre> # like csrf_exempt from dispatch</pre></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '34563744688')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v34563744688">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>initkwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework.decorators.message_view object at 0x81168a350></pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre>'<WSGIRequest\npath:/v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {u\'body\': [u\'111\'], u\'to\': [u\'\'], u\'from\': [u\'pers-140321-1137964114\'], u\'sender\': [u\'mobile_app\']}>,\nCOOKIES:{},\nMETA:{\'BLOCKSIZE\': \'K\',\n \'CONTENT_LENGTH\': \'58\',\n \'CONTENT_TYPE\': \'application/x-www-form-urlencoded; charset=utf-8\',\n u\'CSRF_COOKIE\': u\'6SgRXN77DDK3b4Ca9PppvLilNWlPU4w8\',\n \'DJANGO_SETTINGS_MODULE\': \'coreapi.settings\',\n \'EDITOR\': \'/usr/local/bin/vim\',\n \'FTP_PASSIVE_MODE\': \'YES\',\n \'GATEWAY_INTERFACE\': \'CGI/1.1\',\n \'HOME\': \'/home/gorynych/data\',\n \'HTTP_ACCEPT\': \'*/*\',\n \'HTTP_ACCEPT_ENCODING\': \'gzip, deflate\',\n \'HTTP_ACCEPT_LANGUAGE\': \'ru;q=1, en;q=0.9, de;q=0.8, es;q=0.7, fr;q=0.6, ja;q=0.5\',\n \'HTTP_CONNECTION\': \'close\',\n \'HTTP_HOST\': \'127.0.0.1:8085\',\n \'HTTP_USER_AGENT\': \'AirTribune/0.2.49 (iPhone; iOS 7.1; Scale/2.00)\',\n \'LANG\': \'ru_RU.UTF-8\',\n \'LC_ALL\': \'ru_RU.UTF-8\',\n \'LOGNAME\': \'gorynych\',\n \'MAIL\': \'/var/mail/gorynych\',\n \'OLDPWD\': \'/home/gorynych/data\',\n \'PATH\': \'/home/gorynych/data/.virtualenvs/djangocore/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/gorynych/data/bin\',\n \'PATH_INFO\': u\'/v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063\',\n \'PS1\': \'(djangocore)\\\\[\\\\033[00;32m\\\\][`date +%d"/"%m"/"%Y" "%T`] \\\\u@\\\\h \\\\w\\\\[\\\\033[01;33m\\\\]$(__git_ps1 " (%s)")\\\\[\\\\033[01;34m\\\\]\\\\n \\\\$\\\\[\\\\033[00m\\\\] \',\n \'PWD\': \'/home/gorynych/data/api\',\n \'QUERY_STRING\': \'\',\n \'REMOTE_ADDR\': \'127.0.0.1\',\n \'REMOTE_HOST\': \'\',\n \'REQUEST_METHOD\': \'POST\',\n \'RUN_MAIN\': \'true\',\n \'SCRIPT_NAME\': u\'\',\n \'SERVER_NAME\': \'codecat.ru\',\n \'SERVER_PORT\': \'8085\',\n \'SERVER_PROTOCOL\': \'HTTP/1.0\',\n \'SERVER_SOFTWARE\': \'WSGIServer/0.1 Python/2.7.5\',\n \'SHELL\': \'/usr/local/bin/bash\',\n \'SHLVL\': \'1\',\n \'SSH_CLIENT\': \'128.71.71.213 60272 2043\',\n \'SSH_CONNECTION\': \'128.71.71.213 60272 195.208.25.206 2043\',\n \'SSH_TTY\': \'/dev/pts/1\',\n \'TERM\': \'xterm\',\n \'TZ\': \'UTC\',\n \'USER\': \'gorynych\',\n \'VIRTUALENVWRAPPER_HOOK_DIR\': \'/home/gorynych/data/.virtualenvs\',\n \'VIRTUALENVWRAPPER_PROJECT_FILENAME\': \'.project\',\n \'VIRTUAL_ENV\': \'/home/gorynych/data/.virtualenvs/djangocore\',\n \'WORKON_HOME\': \'/home/gorynych/data/.virtualenvs\',\n \'_\': \'/home/gorynych/data/.virtualenvs/djangocore/bin/python\',\n \'wsgi.errors\': <open file \'<stderr>\', mode \'w\' at 0x8018411e0>,\n \'wsgi.file_wrapper\': <class wsgiref.util.FileWrapper at 0x80636ece8>,\n \'wsgi.input\': <socket._fileobject object at 0x80c2a34d0>,\n \'wsgi.multiprocess\': False,\n \'wsgi.multithread\': True,\n \'wsgi.run_once\': False,\n \'wsgi.url_scheme\': \'http\',\n \'wsgi.version\': (1, 0)}>'</pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'task_id': u'r-45f3fd8b-7911-49bb-9c0c-cd753c515063'}</pre></td>
- </tr>
- <tr>
- <td>cls</td>
- <td class="code"><pre><class 'rest_framework.decorators.message_view'></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/views/decorators/csrf.py</code> in <code>wrapped_view</code>
- <div class="context" id="c34563745264">
- <ol start="50" class="pre-context" id="pre34563745264"><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> """</pre></li><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> Marks a view function as being exempt from the CSRF view protection.</pre></li><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> """</pre></li><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> # We could just do view_func.csrf_exempt = True, but decorators</pre></li><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> # are nicer if they don't have side-effects, so we return a new</pre></li><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> # function.</pre></li><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> def wrapped_view(*args, **kwargs):</pre></li></ol>
- <ol start="57" class="context-line"><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> return view_func(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='58' class="post-context" id="post34563745264"><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> wrapped_view.csrf_exempt = True</pre></li><li onclick="toggle('pre34563745264', 'post34563745264')"><pre> return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view)</pre></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '34563745264')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v34563745264">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>args</td>
- <td class="code"><pre>(<rest_framework.decorators.message_view object at 0x81168a350>,
- <WSGIRequest
- path:/v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063,
- GET:<QueryDict: {}>,
- POST:<QueryDict: {u'body': [u'111'], u'to': [u''], u'from': [u'pers-140321-1137964114'], u'sender': [u'mobile_app']}>,
- COOKIES:{},
- META:{'BLOCKSIZE': 'K',
- 'CONTENT_LENGTH': '58',
- 'CONTENT_TYPE': 'application/x-www-form-urlencoded; charset=utf-8',
- u'CSRF_COOKIE': u'6SgRXN77DDK3b4Ca9PppvLilNWlPU4w8',
- 'DJANGO_SETTINGS_MODULE': 'coreapi.settings',
- 'EDITOR': '/usr/local/bin/vim',
- 'FTP_PASSIVE_MODE': 'YES',
- 'GATEWAY_INTERFACE': 'CGI/1.1',
- 'HOME': '/home/gorynych/data',
- 'HTTP_ACCEPT': '*/*',
- 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
- 'HTTP_ACCEPT_LANGUAGE': 'ru;q=1, en;q=0.9, de;q=0.8, es;q=0.7, fr;q=0.6, ja;q=0.5',
- 'HTTP_CONNECTION': 'close',
- 'HTTP_HOST': '127.0.0.1:8085',
- 'HTTP_USER_AGENT': 'AirTribune/0.2.49 (iPhone; iOS 7.1; Scale/2.00)',
- 'LANG': 'ru_RU.UTF-8',
- 'LC_ALL': 'ru_RU.UTF-8',
- 'LOGNAME': 'gorynych',
- 'MAIL': '/var/mail/gorynych',
- 'OLDPWD': '/home/gorynych/data',
- 'PATH': '/home/gorynych/data/.virtualenvs/djangocore/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/gorynych/data/bin',
- 'PATH_INFO': u'/v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063',
- 'PS1': '(djangocore)\\[\\033[00;32m\\][`date +%d"/"%m"/"%Y" "%T`] \\u@\\h \\w\\[\\033[01;33m\\]$(__git_ps1 " (%s)")\\[\\033[01;34m\\]\\n \\$\\[\\033[00m\\] ',
- 'PWD': '/home/gorynych/data/api',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '127.0.0.1',
- 'REMOTE_HOST': '',
- 'REQUEST_METHOD': 'POST',
- 'RUN_MAIN': 'true',
- 'SCRIPT_NAME': u'',
- 'SERVER_NAME': 'codecat.ru',
- 'SERVER_PORT': '8085',
- 'SERVER_PROTOCOL': 'HTTP/1.0',
- 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.7.5',
- 'SHELL': '/usr/local/bin/bash',
- 'SHLVL': '1',
- 'SSH_CLIENT': '128.71.71.213 60272 2043',
- 'SSH_CONNECTION': '128.71.71.213 60272 195.208.25.206 2043',
- 'SSH_TTY': '/dev/pts/1',
- 'TERM': 'xterm',
- 'TZ': 'UTC',
- 'USER': 'gorynych',
- 'VIRTUALENVWRAPPER_HOOK_DIR': '/home/gorynych/data/.virtualenvs',
- 'VIRTUALENVWRAPPER_PROJECT_FILENAME': '.project',
- 'VIRTUAL_ENV': '/home/gorynych/data/.virtualenvs/djangocore',
- 'WORKON_HOME': '/home/gorynych/data/.virtualenvs',
- '_': '/home/gorynych/data/.virtualenvs/djangocore/bin/python',
- 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x8018411e0>,
- 'wsgi.file_wrapper': <class wsgiref.util.FileWrapper at 0x80636ece8>,
- 'wsgi.input': <socket._fileobject object at 0x80c2a34d0>,
- 'wsgi.multiprocess': False,
- 'wsgi.multithread': True,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'http',
- 'wsgi.version': (1, 0)}>)</pre></td>
- </tr>
- <tr>
- <td>view_func</td>
- <td class="code"><pre><function dispatch at 0x80a019410></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'task_id': u'r-45f3fd8b-7911-49bb-9c0c-cd753c515063'}</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
- <div class="context" id="c34563744760">
- <ol start="392" class="pre-context" id="pre34563744760"><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> self.http_method_not_allowed)</pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> else:</pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> handler = self.http_method_not_allowed</pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre></pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> response = handler(request, *args, **kwargs)</pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre></pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> except Exception as exc:</pre></li></ol>
- <ol start="399" class="context-line"><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> response = self.handle_exception(exc)</pre> <span>...</span></li></ol>
- <ol start='400' class="post-context" id="post34563744760"><li onclick="toggle('pre34563744760', 'post34563744760')"><pre></pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> return self.response</pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre></pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> def options(self, request, *args, **kwargs):</pre></li><li onclick="toggle('pre34563744760', 'post34563744760')"><pre> """</pre></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '34563744760')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v34563744760">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>exc</td>
- <td class="code"><pre>AttributeError(u'This QueryDict instance is immutable',)</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework.decorators.message_view object at 0x81168a350></pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><rest_framework.request.Request object at 0x811682e90></pre></td>
- </tr>
- <tr>
- <td>handler</td>
- <td class="code"><pre><bound method message_view.handler of <rest_framework.decorators.message_view object at 0x81168a350>></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'task_id': u'r-45f3fd8b-7911-49bb-9c0c-cd753c515063'}</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
- <div class="context" id="c34512697608">
- <ol start="389" class="pre-context" id="pre34512697608"><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> # Get the appropriate handler method</pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> if request.method.lower() in self.http_method_names:</pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> handler = getattr(self, request.method.lower(),</pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> self.http_method_not_allowed)</pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> else:</pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> handler = self.http_method_not_allowed</pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre></pre></li></ol>
- <ol start="396" class="context-line"><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> response = handler(request, *args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='397' class="post-context" id="post34512697608"><li onclick="toggle('pre34512697608', 'post34512697608')"><pre></pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> except Exception as exc:</pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> response = self.handle_exception(exc)</pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre></pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li><li onclick="toggle('pre34512697608', 'post34512697608')"><pre> return self.response</pre></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '34512697608')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v34512697608">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>exc</td>
- <td class="code"><pre>AttributeError(u'This QueryDict instance is immutable',)</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework.decorators.message_view object at 0x81168a350></pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><rest_framework.request.Request object at 0x811682e90></pre></td>
- </tr>
- <tr>
- <td>handler</td>
- <td class="code"><pre><bound method message_view.handler of <rest_framework.decorators.message_view object at 0x81168a350>></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'task_id': u'r-45f3fd8b-7911-49bb-9c0c-cd753c515063'}</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/rest_framework/decorators.py</code> in <code>handler</code>
- <div class="context" id="c34512697032">
- <ol start="42" class="pre-context" id="pre34512697032"><li onclick="toggle('pre34512697032', 'post34512697032')"><pre> assert isinstance(http_method_names, (list, tuple)), \</pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre> '@api_view expected a list of strings, received %s' % type(http_method_names).__name__</pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre></pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre> allowed_methods = set(http_method_names) | set(('options',))</pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre> WrappedAPIView.http_method_names = [method.lower() for method in allowed_methods]</pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre></pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre> def handler(self, *args, **kwargs):</pre></li></ol>
- <ol start="49" class="context-line"><li onclick="toggle('pre34512697032', 'post34512697032')"><pre> return func(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='50' class="post-context" id="post34512697032"><li onclick="toggle('pre34512697032', 'post34512697032')"><pre></pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre> for method in http_method_names:</pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre> setattr(WrappedAPIView, method.lower(), handler)</pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre></pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre> WrappedAPIView.__name__ = func.__name__</pre></li><li onclick="toggle('pre34512697032', 'post34512697032')"><pre></pre></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '34512697032')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v34512697032">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework.decorators.message_view object at 0x81168a350></pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>(<rest_framework.request.Request object at 0x811682e90>,)</pre></td>
- </tr>
- <tr>
- <td>func</td>
- <td class="code"><pre><function message_view at 0x8091736e0></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'task_id': u'r-45f3fd8b-7911-49bb-9c0c-cd753c515063'}</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/gorynych/data/api/retrieve/views.py</code> in <code>message_view</code>
- <div class="context" id="c34512696600">
- <ol start="23" class="pre-context" id="pre34512696600"><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> return Response(serializer.data)</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre></pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> else:</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> if request.user.is_authenticated():</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> # authentified users are bound to their identities</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> user = get_user(request.user)</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> request.DATA['author'] = user.id</pre></li></ol>
- <ol start="30" class="context-line"><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> request.DATA['task'] = task.id</pre> <span>...</span></li></ol>
- <ol start='31' class="post-context" id="post34512696600"><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> serializer = MessageSerializer(data=request.DATA, contest_id=task.contest.id)</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> if serializer.is_valid():</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> serializer.save(force_insert=True)</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> return Response(serializer.data, status=status.HTTP_201_CREATED)</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre> return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)</pre></li><li onclick="toggle('pre34512696600', 'post34512696600')"><pre></pre></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '34512696600')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v34512696600">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>task</td>
- <td class="code"><pre><Task: Task object></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><rest_framework.request.Request object at 0x811682e90></pre></td>
- </tr>
- <tr>
- <td>task_id</td>
- <td class="code"><pre>u'r-45f3fd8b-7911-49bb-9c0c-cd753c515063'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/http/request.py</code> in <code>__setitem__</code>
- <div class="context" id="c34512697464">
- <ol start="311" class="pre-context" id="pre34512697464"><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> self._encoding = value</pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre></pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> def _assert_mutable(self):</pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> if not self._mutable:</pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> raise AttributeError("This QueryDict instance is immutable")</pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre></pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> def __setitem__(self, key, value):</pre></li></ol>
- <ol start="318" class="context-line"><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> self._assert_mutable()</pre> <span>...</span></li></ol>
- <ol start='319' class="post-context" id="post34512697464"><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> key = bytes_to_text(key, self.encoding)</pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> value = bytes_to_text(value, self.encoding)</pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> super(QueryDict, self).__setitem__(key, value)</pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre></pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> def __delitem__(self, key):</pre></li><li onclick="toggle('pre34512697464', 'post34512697464')"><pre> self._assert_mutable()</pre></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '34512697464')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v34512697464">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>self</td>
- <td class="code"><pre><QueryDict: {u'body': [u'111'], u'to': [u''], u'from': [u'pers-140321-1137964114'], u'sender': [u'mobile_app']}></pre></td>
- </tr>
- <tr>
- <td>value</td>
- <td class="code"><pre>u'r-45f3fd8b-7911-49bb-9c0c-cd753c515063'</pre></td>
- </tr>
- <tr>
- <td>key</td>
- <td class="code"><pre>'task'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/http/request.py</code> in <code>_assert_mutable</code>
- <div class="context" id="c34512698256">
- <ol start="308" class="pre-context" id="pre34512698256"><li onclick="toggle('pre34512698256', 'post34512698256')"><pre></pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> @encoding.setter</pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> def encoding(self, value):</pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> self._encoding = value</pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre></pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> def _assert_mutable(self):</pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> if not self._mutable:</pre></li></ol>
- <ol start="315" class="context-line"><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> raise AttributeError("This QueryDict instance is immutable")</pre> <span>...</span></li></ol>
- <ol start='316' class="post-context" id="post34512698256"><li onclick="toggle('pre34512698256', 'post34512698256')"><pre></pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> def __setitem__(self, key, value):</pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> self._assert_mutable()</pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> key = bytes_to_text(key, self.encoding)</pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> value = bytes_to_text(value, self.encoding)</pre></li><li onclick="toggle('pre34512698256', 'post34512698256')"><pre> super(QueryDict, self).__setitem__(key, value)</pre></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '34512698256')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v34512698256">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>self</td>
- <td class="code"><pre><QueryDict: {u'body': [u'111'], u'to': [u''], u'from': [u'pers-140321-1137964114'], u'sender': [u'mobile_app']}></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- </ul>
- </div>
- <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
- <div id="pastebinTraceback" class="pastebin">
- <input type="hidden" name="language" value="PythonConsole">
- <input type="hidden" name="title" value="AttributeError at /v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063">
- <input type="hidden" name="source" value="Django Dpaste Agent">
- <input type="hidden" name="poster" value="Django">
- <textarea name="content" id="traceback_area" cols="140" rows="25">
- Environment:
- Request Method: POST
- Request URL: http://127.0.0.1:8085/v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063
- Django Version: 1.6.1
- Python Version: 2.7.5
- Installed Applications:
- ['django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'django.contrib.admin',
- 'rest_framework',
- 'south',
- 'lettuce.django',
- 'raven.contrib.django.raven_compat',
- 'django_jenkins',
- 'voting',
- 'common',
- 'competitions',
- 'private',
- 'utils',
- 'users',
- 'services',
- 'tracks',
- 'retrieve',
- 'debug_toolbar']
- Installed Middleware:
- (u'debug_toolbar.middleware.DebugToolbarMiddleware',
- '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')
- Traceback:
- File "/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
- 114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
- File "/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/views/generic/base.py" in view
- 69. return self.dispatch(request, *args, **kwargs)
- File "/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
- 57. return view_func(*args, **kwargs)
- File "/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
- 399. response = self.handle_exception(exc)
- File "/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
- 396. response = handler(request, *args, **kwargs)
- File "/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/rest_framework/decorators.py" in handler
- 49. return func(*args, **kwargs)
- File "/home/gorynych/data/api/retrieve/views.py" in message_view
- 30. request.DATA['task'] = task.id
- File "/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/http/request.py" in __setitem__
- 318. self._assert_mutable()
- File "/home/gorynych/data/.virtualenvs/djangocore/lib/python2.7/site-packages/django/http/request.py" in _assert_mutable
- 315. raise AttributeError("This QueryDict instance is immutable")
- Exception Type: AttributeError at /v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063
- Exception Value: This QueryDict instance is immutable
- </textarea>
- <br><br>
- <input type="submit" value="Share this traceback on a public Web site">
- </div>
- </form>
- </div>
- <div id="requestinfo">
- <h2>Request information</h2>
- <h3 id="get-info">GET</h3>
- <p>No GET data</p>
- <h3 id="post-info">POST</h3>
- <table class="req">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>body</td>
- <td class="code"><pre>u'111'</pre></td>
- </tr>
- <tr>
- <td>to</td>
- <td class="code"><pre>u''</pre></td>
- </tr>
- <tr>
- <td>from</td>
- <td class="code"><pre>u'pers-140321-1137964114'</pre></td>
- </tr>
- <tr>
- <td>sender</td>
- <td class="code"><pre>u'mobile_app'</pre></td>
- </tr>
- </tbody>
- </table>
- <h3 id="files-info">FILES</h3>
- <p>No FILES data</p>
- <h3 id="cookie-info">COOKIES</h3>
- <p>No cookie data</p>
- <h3 id="meta-info">META</h3>
- <table class="req">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>RUN_MAIN</td>
- <td class="code"><pre>'true'</pre></td>
- </tr>
- <tr>
- <td>SERVER_PROTOCOL</td>
- <td class="code"><pre>'HTTP/1.0'</pre></td>
- </tr>
- <tr>
- <td>SERVER_SOFTWARE</td>
- <td class="code"><pre>'WSGIServer/0.1 Python/2.7.5'</pre></td>
- </tr>
- <tr>
- <td>SCRIPT_NAME</td>
- <td class="code"><pre>u''</pre></td>
- </tr>
- <tr>
- <td>SSH_CLIENT</td>
- <td class="code"><pre>'128.71.71.213 60272 2043'</pre></td>
- </tr>
- <tr>
- <td>REQUEST_METHOD</td>
- <td class="code"><pre>'POST'</pre></td>
- </tr>
- <tr>
- <td>LOGNAME</td>
- <td class="code"><pre>'gorynych'</pre></td>
- </tr>
- <tr>
- <td>USER</td>
- <td class="code"><pre>'gorynych'</pre></td>
- </tr>
- <tr>
- <td>PATH</td>
- <td class="code"><pre>'/home/gorynych/data/.virtualenvs/djangocore/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/gorynych/data/bin'</pre></td>
- </tr>
- <tr>
- <td>QUERY_STRING</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>HOME</td>
- <td class="code"><pre>'/home/gorynych/data'</pre></td>
- </tr>
- <tr>
- <td>PS1</td>
- <td class="code"><pre>'(djangocore)\\[\\033[00;32m\\][`date +%d"/"%m"/"%Y" "%T`] \\u@\\h \\w\\[\\033[01;33m\\]$(__git_ps1 " (%s)")\\[\\033[01;34m\\]\\n \\$\\[\\033[00m\\] '</pre></td>
- </tr>
- <tr>
- <td>wsgi.errors</td>
- <td class="code"><pre><open file '<stderr>', mode 'w' at 0x8018411e0></pre></td>
- </tr>
- <tr>
- <td>LANG</td>
- <td class="code"><pre>'ru_RU.UTF-8'</pre></td>
- </tr>
- <tr>
- <td>VIRTUAL_ENV</td>
- <td class="code"><pre>'/home/gorynych/data/.virtualenvs/djangocore'</pre></td>
- </tr>
- <tr>
- <td>SHELL</td>
- <td class="code"><pre>'/usr/local/bin/bash'</pre></td>
- </tr>
- <tr>
- <td>TZ</td>
- <td class="code"><pre>'UTC'</pre></td>
- </tr>
- <tr>
- <td>SERVER_NAME</td>
- <td class="code"><pre>'codecat.ru'</pre></td>
- </tr>
- <tr>
- <td>REMOTE_ADDR</td>
- <td class="code"><pre>'127.0.0.1'</pre></td>
- </tr>
- <tr>
- <td>SHLVL</td>
- <td class="code"><pre>'1'</pre></td>
- </tr>
- <tr>
- <td>BLOCKSIZE</td>
- <td class="code"><pre>'K'</pre></td>
- </tr>
- <tr>
- <td>FTP_PASSIVE_MODE</td>
- <td class="code"><pre>'YES'</pre></td>
- </tr>
- <tr>
- <td>wsgi.url_scheme</td>
- <td class="code"><pre>'http'</pre></td>
- </tr>
- <tr>
- <td>EDITOR</td>
- <td class="code"><pre>'/usr/local/bin/vim'</pre></td>
- </tr>
- <tr>
- <td>SERVER_PORT</td>
- <td class="code"><pre>'8085'</pre></td>
- </tr>
- <tr>
- <td>CONTENT_LENGTH</td>
- <td class="code"><pre>'58'</pre></td>
- </tr>
- <tr>
- <td>WORKON_HOME</td>
- <td class="code"><pre>'/home/gorynych/data/.virtualenvs'</pre></td>
- </tr>
- <tr>
- <td>HTTP_CONNECTION</td>
- <td class="code"><pre>'close'</pre></td>
- </tr>
- <tr>
- <td>TERM</td>
- <td class="code"><pre>'xterm'</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE</td>
- <td class="code"><pre>u'6SgRXN77DDK3b4Ca9PppvLilNWlPU4w8'</pre></td>
- </tr>
- <tr>
- <td>wsgi.input</td>
- <td class="code"><pre><socket._fileobject object at 0x80c2a34d0></pre></td>
- </tr>
- <tr>
- <td>HTTP_USER_AGENT</td>
- <td class="code"><pre>'AirTribune/0.2.49 (iPhone; iOS 7.1; Scale/2.00)'</pre></td>
- </tr>
- <tr>
- <td>HTTP_HOST</td>
- <td class="code"><pre>'127.0.0.1:8085'</pre></td>
- </tr>
- <tr>
- <td>wsgi.multithread</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>LC_ALL</td>
- <td class="code"><pre>'ru_RU.UTF-8'</pre></td>
- </tr>
- <tr>
- <td>_</td>
- <td class="code"><pre>'/home/gorynych/data/.virtualenvs/djangocore/bin/python'</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT</td>
- <td class="code"><pre>'*/*'</pre></td>
- </tr>
- <tr>
- <td>VIRTUALENVWRAPPER_PROJECT_FILENAME</td>
- <td class="code"><pre>'.project'</pre></td>
- </tr>
- <tr>
- <td>wsgi.file_wrapper</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>wsgi.version</td>
- <td class="code"><pre>(1, 0)</pre></td>
- </tr>
- <tr>
- <td>VIRTUALENVWRAPPER_HOOK_DIR</td>
- <td class="code"><pre>'/home/gorynych/data/.virtualenvs'</pre></td>
- </tr>
- <tr>
- <td>GATEWAY_INTERFACE</td>
- <td class="code"><pre>'CGI/1.1'</pre></td>
- </tr>
- <tr>
- <td>wsgi.run_once</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SSH_TTY</td>
- <td class="code"><pre>'/dev/pts/1'</pre></td>
- </tr>
- <tr>
- <td>OLDPWD</td>
- <td class="code"><pre>'/home/gorynych/data'</pre></td>
- </tr>
- <tr>
- <td>wsgi.multiprocess</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT_LANGUAGE</td>
- <td class="code"><pre>'ru;q=1, en;q=0.9, de;q=0.8, es;q=0.7, fr;q=0.6, ja;q=0.5'</pre></td>
- </tr>
- <tr>
- <td>PWD</td>
- <td class="code"><pre>'/home/gorynych/data/api'</pre></td>
- </tr>
- <tr>
- <td>DJANGO_SETTINGS_MODULE</td>
- <td class="code"><pre>'coreapi.settings'</pre></td>
- </tr>
- <tr>
- <td>CONTENT_TYPE</td>
- <td class="code"><pre>'application/x-www-form-urlencoded; charset=utf-8'</pre></td>
- </tr>
- <tr>
- <td>MAIL</td>
- <td class="code"><pre>'/var/mail/gorynych'</pre></td>
- </tr>
- <tr>
- <td>SSH_CONNECTION</td>
- <td class="code"><pre>'128.71.71.213 60272 195.208.25.206 2043'</pre></td>
- </tr>
- <tr>
- <td>REMOTE_HOST</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT_ENCODING</td>
- <td class="code"><pre>'gzip, deflate'</pre></td>
- </tr>
- <tr>
- <td>PATH_INFO</td>
- <td class="code"><pre>u'/v0.3/chatroom/r-45f3fd8b-7911-49bb-9c0c-cd753c515063'</pre></td>
- </tr>
- </tbody>
- </table>
- <h3 id="settings-info">Settings</h3>
- <h4>Using settings module <code>coreapi.settings</code></h4>
- <table class="req">
- <thead>
- <tr>
- <th>Setting</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>USE_L10N</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>USE_THOUSAND_SEPARATOR</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CHECKIN_DISTANCE</td>
- <td class="code"><pre>1000000000</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_SECURE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_CODE</td>
- <td class="code"><pre>'en-us'</pre></td>
- </tr>
- <tr>
- <td>ROOT_URLCONF</td>
- <td class="code"><pre>'coreapi.urls'</pre></td>
- </tr>
- <tr>
- <td>MANAGERS</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>BASE_DIR</td>
- <td class="code"><pre>'/home/gorynych/data/api'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_CHARSET</td>
- <td class="code"><pre>'utf-8'</pre></td>
- </tr>
- <tr>
- <td>SESSION_SERIALIZER</td>
- <td class="code"><pre>'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
- </tr>
- <tr>
- <td>STATIC_ROOT</td>
- <td class="code"><pre>'/home/gorynych/data/api/static'</pre></td>
- </tr>
- <tr>
- <td>ALLOWED_HOSTS</td>
- <td class="code"><pre>['*']</pre></td>
- </tr>
- <tr>
- <td>MESSAGE_STORAGE</td>
- <td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SUBJECT_PREFIX</td>
- <td class="code"><pre>'[Django] '</pre></td>
- </tr>
- <tr>
- <td>SEND_BROKEN_LINK_EMAILS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_FINDERS</td>
- <td class="code"><pre>('django.contrib.staticfiles.finders.FileSystemFinder',
- 'django.contrib.staticfiles.finders.AppDirectoriesFinder')</pre></td>
- </tr>
- <tr>
- <td>SESSION_CACHE_ALIAS</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_NAME</td>
- <td class="code"><pre>'sessionid'</pre></td>
- </tr>
- <tr>
- <td>VERSION</td>
- <td class="code"><pre>'0.3'</pre></td>
- </tr>
- <tr>
- <td>ADMIN_FOR</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>TIME_INPUT_FORMATS</td>
- <td class="code"><pre>('%H:%M:%S', '%H:%M:%S.%f', '%H:%M')</pre></td>
- </tr>
- <tr>
- <td>DATABASES</td>
- <td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
- 'AUTOCOMMIT': True,
- 'CONN_MAX_AGE': 0,
- 'ENGINE': 'django.db.backends.postgresql_psycopg2',
- 'HOST': '',
- 'NAME': 'djangocore',
- 'OPTIONS': {},
- 'PASSWORD': u'********************',
- 'PORT': '',
- 'TEST_CHARSET': None,
- 'TEST_COLLATION': None,
- 'TEST_MIRROR': None,
- 'TEST_NAME': None,
- 'TIME_ZONE': 'UTC',
- 'USER': 'djangouser'},
- 'gorynych': {'ATOMIC_REQUESTS': False,
- 'AUTOCOMMIT': True,
- 'CONN_MAX_AGE': 0,
- 'ENGINE': 'django.db.backends.postgresql_psycopg2',
- 'HOST': '',
- 'NAME': 'gorynych_2',
- 'OPTIONS': {},
- 'PASSWORD': u'********************',
- 'PORT': '',
- 'TEST_CHARSET': None,
- 'TEST_COLLATION': None,
- 'TEST_MIRROR': None,
- 'TEST_NAME': None,
- 'TIME_ZONE': 'UTC',
- 'USER': 'gorynych_gorynych'},
- 'ldap': {'ATOMIC_REQUESTS': False,
- 'AUTOCOMMIT': True,
- 'CONN_MAX_AGE': 0,
- 'ENGINE': 'ldapdb.backends.ldap',
- 'HOST': '',
- 'NAME': 'ldap://codecat.ru/',
- 'OPTIONS': {},
- 'PASSWORD': u'********************',
- 'PORT': '',
- 'SUPPORTS_TRANSACTIONS': False,
- 'TEST': {'NAME': 'ldap://localhost/'},
- 'TEST_CHARSET': None,
- 'TEST_COLLATION': None,
- 'TEST_MIRROR': None,
- 'TEST_NAME': None,
- 'TIME_ZONE': 'UTC',
- 'USER': 'cn=root,dc=airtribune,dc=com'}}</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_PERMISSIONS</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_HANDLERS</td>
- <td class="code"><pre>('django.core.files.uploadhandler.MemoryFileUploadHandler',
- 'django.core.files.uploadhandler.TemporaryFileUploadHandler')</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_CONTENT_TYPE</td>
- <td class="code"><pre>'text/html'</pre></td>
- </tr>
- <tr>
- <td>APPEND_SLASH</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>FIRST_DAY_OF_WEEK</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>DATABASE_ROUTERS</td>
- <td class="code"><pre>['ldapdb.router.Router', 'coreapi.router.GorynychRouter']</pre></td>
- </tr>
- <tr>
- <td>YEAR_MONTH_FORMAT</td>
- <td class="code"><pre>'F Y'</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_STORAGE</td>
- <td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
- </tr>
- <tr>
- <td>CACHES</td>
- <td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}</pre></td>
- </tr>
- <tr>
- <td>SERVER_EMAIL</td>
- <td class="code"><pre>'root@localhost'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>LETTUCE_USE_TEST_DATABASE</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>MIDDLEWARE_CLASSES</td>
- <td class="code"><pre>(u'debug_toolbar.middleware.DebugToolbarMiddleware',
- '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')</pre></td>
- </tr>
- <tr>
- <td>USE_I18N</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>THOUSAND_SEPARATOR</td>
- <td class="code"><pre>','</pre></td>
- </tr>
- <tr>
- <td>SECRET_KEY</td>
- <td class="code"><pre>u'********************'</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_NAME</td>
- <td class="code"><pre>'django_language'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_INDEX_TABLESPACE</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>TRANSACTIONS_MANAGED</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>LOGGING_CONFIG</td>
- <td class="code"><pre>'django.utils.log.dictConfig'</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_LOADERS</td>
- <td class="code"><pre>('django.template.loaders.filesystem.Loader',
- 'django.template.loaders.app_directories.Loader')</pre></td>
- </tr>
- <tr>
- <td>WSGI_APPLICATION</td>
- <td class="code"><pre>'coreapi.wsgi.application'</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_DEBUG</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>X_FRAME_OPTIONS</td>
- <td class="code"><pre>'SAMEORIGIN'</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_NAME</td>
- <td class="code"><pre>'csrftoken'</pre></td>
- </tr>
- <tr>
- <td>FORCE_SCRIPT_NAME</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>USE_X_FORWARDED_HOST</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SIGNING_BACKEND</td>
- <td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_SECURE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FILE_CHARSET</td>
- <td class="code"><pre>'utf-8'</pre></td>
- </tr>
- <tr>
- <td>DEBUG</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>SESSION_FILE_PATH</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_FILE_STORAGE</td>
- <td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td>
- </tr>
- <tr>
- <td>INSTALLED_APPS</td>
- <td class="code"><pre>['django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'django.contrib.admin',
- 'rest_framework',
- 'south',
- 'lettuce.django',
- 'raven.contrib.django.raven_compat',
- 'django_jenkins',
- 'voting',
- 'common',
- 'competitions',
- 'private',
- 'utils',
- 'users',
- 'services',
- 'tracks',
- 'retrieve',
- 'debug_toolbar']</pre></td>
- </tr>
- <tr>
- <td>LANGUAGES</td>
- <td class="code"><pre>(('af', 'Afrikaans'),
- ('ar', 'Arabic'),
- ('az', 'Azerbaijani'),
- ('bg', 'Bulgarian'),
- ('be', 'Belarusian'),
- ('bn', 'Bengali'),
- ('br', 'Breton'),
- ('bs', 'Bosnian'),
- ('ca', 'Catalan'),
- ('cs', 'Czech'),
- ('cy', 'Welsh'),
- ('da', 'Danish'),
- ('de', 'German'),
- ('el', 'Greek'),
- ('en', 'English'),
- ('en-gb', 'British English'),
- ('eo', 'Esperanto'),
- ('es', 'Spanish'),
- ('es-ar', 'Argentinian Spanish'),
- ('es-mx', 'Mexican Spanish'),
- ('es-ni', 'Nicaraguan Spanish'),
- ('es-ve', 'Venezuelan Spanish'),
- ('et', 'Estonian'),
- ('eu', 'Basque'),
- ('fa', 'Persian'),
- ('fi', 'Finnish'),
- ('fr', 'French'),
- ('fy-nl', 'Frisian'),
- ('ga', 'Irish'),
- ('gl', 'Galician'),
- ('he', 'Hebrew'),
- ('hi', 'Hindi'),
- ('hr', 'Croatian'),
- ('hu', 'Hungarian'),
- ('ia', 'Interlingua'),
- ('id', 'Indonesian'),
- ('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'),
- ('my', 'Burmese'),
- ('nb', 'Norwegian Bokmal'),
- ('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-cn', 'Simplified Chinese'),
- ('zh-tw', 'Traditional Chinese'))</pre></td>
- </tr>
- <tr>
- <td>COMMENTS_ALLOW_PROFANITIES</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>PROJECT_APPS</td>
- <td class="code"><pre>['competitions',
- 'common',
- 'private',
- 'utils',
- 'users',
- 'services',
- 'tracks',
- 'retrieve']</pre></td>
- </tr>
- <tr>
- <td>PREPEND_WWW</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SECURE_PROXY_SSL_HEADER</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_HTTPONLY</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>MONTH_DAY_FORMAT</td>
- <td class="code"><pre>'F j'</pre></td>
- </tr>
- <tr>
- <td>LOGIN_URL</td>
- <td class="code"><pre>'/accounts/login/'</pre></td>
- </tr>
- <tr>
- <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SOUTH_TESTS_MIGRATE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>TIME_FORMAT</td>
- <td class="code"><pre>'P'</pre></td>
- </tr>
- <tr>
- <td>AUTH_USER_MODEL</td>
- <td class="code"><pre>'auth.User'</pre></td>
- </tr>
- <tr>
- <td>DATE_INPUT_FORMATS</td>
- <td class="code"><pre>('%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')</pre></td>
- </tr>
- <tr>
- <td>AUTHENTICATION_BACKENDS</td>
- <td class="code"><pre>('django_auth_ldap.backend.LDAPBackend',)</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST_PASSWORD</td>
- <td class="code"><pre>u'********************'</pre></td>
- </tr>
- <tr>
- <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
- <td class="code"><pre>u'********************'</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_ALIAS</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- <tr>
- <td>SESSION_SAVE_EVERY_REQUEST</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>NUMBER_GROUPING</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>SESSION_ENGINE</td>
- <td class="code"><pre>'django.contrib.sessions.backends.db'</pre></td>
- </tr>
- <tr>
- <td>CSRF_FAILURE_VIEW</td>
- <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>LOGIN_REDIRECT_URL</td>
- <td class="code"><pre>'/accounts/profile/'</pre></td>
- </tr>
- <tr>
- <td>DECIMAL_SEPARATOR</td>
- <td class="code"><pre>'.'</pre></td>
- </tr>
- <tr>
- <td>IGNORABLE_404_URLS</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>AUTH_LDAP_USER_DN_TEMPLATE</td>
- <td class="code"><pre>'mail=%(user)s, ou=person, dc=airtribune, dc=com'</pre></td>
- </tr>
- <tr>
- <td>LOCALE_PATHS</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_STRING_IF_INVALID</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>LOGOUT_URL</td>
- <td class="code"><pre>'/accounts/logout/'</pre></td>
- </tr>
- <tr>
- <td>RABBITMQ_CONNECTION</td>
- <td class="code"><pre>{'exchange': 'receiver',
- 'exchange_type': 'fanout',
- 'host': 'localhost',
- 'port': 5672,
- 'routing_key': ''}</pre></td>
- </tr>
- <tr>
- <td>EMAIL_USE_TLS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>FIXTURE_DIRS</td>
- <td class="code"><pre>('/home/gorynych/data/api/fixtures',)</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST</td>
- <td class="code"><pre>'localhost'</pre></td>
- </tr>
- <tr>
- <td>DATE_FORMAT</td>
- <td class="code"><pre>'N j, Y'</pre></td>
- </tr>
- <tr>
- <td>MEDIA_ROOT</td>
- <td class="code"><pre>'media'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
- <td class="code"><pre>'django.views.debug.SafeExceptionReporterFilter'</pre></td>
- </tr>
- <tr>
- <td>ADMINS</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>FORMAT_MODULE_PATH</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_FROM_EMAIL</td>
- <td class="code"><pre>'webmaster@localhost'</pre></td>
- </tr>
- <tr>
- <td>REST_FRAMEWORK</td>
- <td class="code"><pre>{'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication',
- 'rest_framework.authentication.BasicAuthentication',
- 'rest_framework_jwt.authentication.JSONWebTokenAuthentication'),
- 'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',),
- 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.AllowAny',),
- 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer',
- 'rest_framework.renderers.BrowsableAPIRenderer')}</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_DIRS</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>MEDIA_URL</td>
- <td class="code"><pre>'/media/'</pre></td>
- </tr>
- <tr>
- <td>DATETIME_FORMAT</td>
- <td class="code"><pre>'N j, Y, P'</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_DIRS</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>DISALLOWED_USER_AGENTS</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>ALLOWED_INCLUDE_ROOTS</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>LOGGING</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>SHORT_DATE_FORMAT</td>
- <td class="code"><pre>'m/d/Y'</pre></td>
- </tr>
- <tr>
- <td>TEST_RUNNER</td>
- <td class="code"><pre>'django.test.runner.DiscoverRunner'</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
- <td class="code"><pre>u'********************'</pre></td>
- </tr>
- <tr>
- <td>TIME_ZONE</td>
- <td class="code"><pre>'UTC'</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
- <td class="code"><pre>2621440</pre></td>
- </tr>
- <tr>
- <td>EMAIL_BACKEND</td>
- <td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_TABLESPACE</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_CONTEXT_PROCESSORS</td>
- <td class="code"><pre>('django.contrib.auth.context_processors.auth',
- 'django.core.context_processors.debug',
- 'django.core.context_processors.i18n',
- 'django.core.context_processors.media',
- 'django.core.context_processors.static',
- 'django.core.context_processors.tz',
- 'django.contrib.messages.context_processors.messages')</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_AGE</td>
- <td class="code"><pre>1209600</pre></td>
- </tr>
- <tr>
- <td>SETTINGS_MODULE</td>
- <td class="code"><pre>'coreapi.settings'</pre></td>
- </tr>
- <tr>
- <td>USE_ETAGS</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>LANGUAGES_BIDI</td>
- <td class="code"><pre>('he', 'ar', 'fa', 'ur')</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_TEMP_DIR</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>INTERNAL_IPS</td>
- <td class="code"><pre>(u'::1', u'127.0.0.1')</pre></td>
- </tr>
- <tr>
- <td>STATIC_URL</td>
- <td class="code"><pre>'/static/'</pre></td>
- </tr>
- <tr>
- <td>AUTH_LDAP_SERVER_URI</td>
- <td class="code"><pre>'ldap://codecat.ru'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_PORT</td>
- <td class="code"><pre>25</pre></td>
- </tr>
- <tr>
- <td>USE_TZ</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SHORT_DATETIME_FORMAT</td>
- <td class="code"><pre>'m/d/Y P'</pre></td>
- </tr>
- <tr>
- <td>PASSWORD_HASHERS</td>
- <td class="code"><pre>u'********************'</pre></td>
- </tr>
- <tr>
- <td>ABSOLUTE_URL_OVERRIDES</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_SECONDS</td>
- <td class="code"><pre>600</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_HTTPONLY</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>DATETIME_INPUT_FORMATS</td>
- <td class="code"><pre>('%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')</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST_USER</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>PROFANITIES_LIST</td>
- <td class="code"><pre>u'********************'</pre></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div id="explanation">
- <p>
- You're seeing this error because you have <code>DEBUG = True</code> in your
- Django settings file. Change that to <code>False</code>, and Django will
- display a standard 500 page.
- </p>
- </div>
- <style type="text/css">
- @media print { #djDebug {display:none;}}
- </style>
- <link rel="stylesheet" href="/static/debug_toolbar/css/toolbar.css" type="text/css" />
- <script>//<![CDATA[
- if(!window.jQuery) document.write('<scr'+'ipt src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></scr'+'ipt>');
- //]]></script>
- <script src="/static/debug_toolbar/js/jquery.cookie.js"></script>
- <script src="/static/debug_toolbar/js/toolbar.js"></script>
- <div id="djDebug" style="display:none;" dir="ltr"
- data-store-id="2c55c6b5b3c24d81b86355cac04d1543" data-render-panel-url="/__debug__/render_panel/"
- >
- <div style="display:none;" id="djDebugToolbar">
- <ul id="djDebugPanelList">
- <li><a id="djHideToolBarButton" href="#" title="Hide toolbar">Hide »</a></li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtVersionsPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Versions" class="VersionsPanel">
- Versions
- <br /><small>Django 1.6.1</small>
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtTimerPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Time" class="TimerPanel">
- Time
- <br /><small>CPU: 122.87ms (125.81ms)</small>
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtSettingsPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Settings from <code>coreapi.settings</code>" class="SettingsPanel">
- Settings
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtHeadersPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Headers" class="HeadersPanel">
- Headers
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtRequestPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Request" class="RequestPanel">
- Request
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtSQLPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="SQL queries from 1 connection" class="SQLPanel">
- SQL
- <br /><small>1 query in 1.25ms</small>
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtStaticFilesPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Static files (96 found, 0 used)" class="StaticFilesPanel">
- Static files
- <br /><small>0 files used</small>
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtTemplatesPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Templates (1 rendered)" class="TemplatesPanel">
- Templates
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtCachePanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Cache calls from 1 backend" class="CachePanel">
- Cache
- <br /><small>0 calls in 0.00ms</small>
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtSignalsPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Signals" class="SignalsPanel">
- Signals
- <br /><small>13 receivers of 12 signals</small>
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtLoggingPanel" checked="checked" title="Disable for next and successive requests" />
- <a href="#" title="Log messages" class="LoggingPanel">
- Logging
- <br /><small>0 messages</small>
- </a>
- </li>
- <li class="djDebugPanelButton">
- <input type="checkbox" data-cookie="djdtRedirectsPanel" title="Enable for next and successive requests" />
- <div class="contentless disabled">
- Intercept redirects
- </div>
- </li>
- </ul>
- </div>
- <div style="display:none;" id="djDebugToolbarHandle">
- <span title="Show toolbar" id="djShowToolBarButton">«</span>
- </div>
- <div id="VersionsPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Versions</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="TimerPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Time</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="SettingsPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Settings from <code>coreapi.settings</code></h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="HeadersPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Headers</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="RequestPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Request</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="SQLPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>SQL queries from 1 connection</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="StaticFilesPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Static files (96 found, 0 used)</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="TemplatesPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Templates (1 rendered)</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="CachePanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Cache calls from 1 backend</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="SignalsPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Signals</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="LoggingPanel" class="panelContent">
- <div class="djDebugPanelTitle">
- <a href="" class="djDebugClose">Close</a>
- <h3>Log messages</h3>
- </div>
- <div class="djDebugPanelContent">
- <div class="scroll">
- </div>
- </div>
- </div>
- <div id="djDebugWindow" class="panelContent"></div>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement