Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- image = <UIImage: 0x6040004b9980> size {3000, 2002} orientation 0 scale 1.000000
- UPLOAD
- result = success(request: $ curl -v \
- -X POST \
- -H "Content-Type: multipart/form-data; boundary=alamofire.boundary.6046031b86323bd0" \
- -H "Accept-Language: en;q=1.0, ru-RU;q=0.9" \
- -H "Authorization: Token 2f3df87a3f101959fe4ce7ccbf4f088e5528914e" \
- -H "User-Agent: PhuketON/1.0 (com.NGSE.PhuketON; build:1; iOS 11.2.0) Alamofire/4.6.0" \
- -H "Accept-Encoding: gzip;q=1.0, compress;q=0.5" \
- "http://phuketon.dvhs.pro/api/v1/files/", streamingFromDisk: false, streamFileURL: nil)
- progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.1308 / Completed: 32768 of 250581
- progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.5231 / Completed: 131072 of 250581
- progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.5231 / Completed: 131072 of 250581
- progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.5231 / Completed: 131072 of 250581
- progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.6538 / Completed: 163840 of 250581
- progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.9154 / Completed: 229376 of 250581
- progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.9154 / Completed: 229376 of 250581
- progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 1.0000 / Completed: 250581 of 250581
- string result = SUCCESS:
- <!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 /api/v1/files/</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; padding-left: 2px; }
- div.context ol li pre { display:inline; }
- div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
- 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 10px 20px; }
- #template-not-exist .postmortem-section { margin-bottom: 3px; }
- #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; }
- .append-bottom { margin-bottom: 10px; }
- </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.textContent = s.textContent == uarr ? darr : uarr;
- return false;
- }
- function switchPastebinFriendly(link) {
- s1 = "Switch to copy-and-paste view";
- s2 = "Switch back to interactive view";
- link.textContent = link.textContent.trim() == s1 ? s2: s1;
- toggle('browserTraceback', 'pastebinTraceback');
- return false;
- }
- //-->
- </script>
- </head>
- <body>
- <div id="summary">
- <h1>AttributeError at /api/v1/files/</h1>
- <pre class="exception_value">'dict' object has no attribute 'exception'</pre>
- <table class="meta">
- <tr>
- <th>Request Method:</th>
- <td>POST</td>
- </tr>
- <tr>
- <th>Request URL:</th>
- <td>http://phuketon.dvhs.pro/api/v1/files/</td>
- </tr>
- <tr>
- <th>Django Version:</th>
- <td>1.11</td>
- </tr>
- <tr>
- <th>Exception Type:</th>
- <td>AttributeError</td>
- </tr>
- <tr>
- <th>Exception Value:</th>
- <td><pre>'dict' object has no attribute 'exception'</pre></td>
- </tr>
- <tr>
- <th>Exception Location:</th>
- <td>/usr/local/lib/python3.5/site-packages/rest_framework/views.py in handle_exception, line 451</td>
- </tr>
- <tr>
- <th>Python Executable:</th>
- <td>/usr/local/bin/python</td>
- </tr>
- <tr>
- <th>Python Version:</th>
- <td>3.5.4</td>
- </tr>
- <tr>
- <th>Python Path:</th>
- <td><pre>['/app',
- '/usr/local/bin',
- '/usr/local/lib/python35.zip',
- '/usr/local/lib/python3.5',
- '/usr/local/lib/python3.5/plat-linux',
- '/usr/local/lib/python3.5/lib-dynload',
- '/usr/local/lib/python3.5/site-packages',
- '/app']</pre></td>
- </tr>
- <tr>
- <th>Server time:</th>
- <td>Sat, 23 Dec 2017 04:12:07 +1100</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 user">
- <code>/usr/local/lib/python3.5/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
- <div class="context" id="c140510397147016">
- <ol start="479" class="pre-context" id="pre140510397147016">
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> # Get the appropriate handler method</pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> if request.method.lower() in self.http_method_names:</pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> handler = getattr(self, request.method.lower(),</pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> self.http_method_not_allowed)</pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> else:</pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> handler = self.http_method_not_allowed</pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre></pre></li>
- </ol>
- <ol start="486" class="context-line">
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre>
- response = handler(request, *args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='487' class="post-context" id="post140510397147016">
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre></pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> except Exception as exc:</pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> response = self.handle_exception(exc)</pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre></pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
- <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> return self.response</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397147016')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397147016">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>handler</td>
- <td class="code"><pre><bound method CreateModelMixin.create of <files.views.ProjectFileView object at 0x7fcb2058b518>></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><rest_framework.request.Request object at 0x7fcb2058bf98></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><files.views.ProjectFileView object at 0x7fcb2058b518></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/usr/local/lib/python3.5/site-packages/rest_framework/mixins.py</code> in <code>create</code>
- <div class="context" id="c140510397149128">
- <ol start="14" class="pre-context" id="pre140510397149128">
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre>class CreateModelMixin(object):</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> """</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> Create a model instance.</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> """</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> def create(self, request, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> serializer = self.get_serializer(data=request.data)</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> serializer.is_valid(raise_exception=True)</pre></li>
- </ol>
- <ol start="21" class="context-line">
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre>
- self.perform_create(serializer)</pre> <span>...</span></li></ol>
- <ol start='22' class="post-context" id="post140510397149128">
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> headers = self.get_success_headers(serializer.data)</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre></pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> def perform_create(self, serializer):</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> serializer.save()</pre></li>
- <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397149128')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397149128">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><rest_framework.request.Request object at 0x7fcb2058bf98></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><files.views.ProjectFileView object at 0x7fcb2058b518></pre></td>
- </tr>
- <tr>
- <td>serializer</td>
- <td class="code"><pre>FileSerializer(context={'view': <files.views.ProjectFileView object>, 'request': <rest_framework.request.Request object>, 'format': None}, data=<QueryDict: {'content_type': ['forum.forumpost'], 'file': [<InMemoryUploadedFile: testTemp.jpeg (image/jpeg)>]}>):
- id = IntegerField(label='ID', read_only=True)
- file = FileField(label='Файлы', max_length=100)
- url = ReadOnlyField()
- owner = PrimaryKeyRelatedField(default=CurrentUserDefault(), read_only=True)
- is_liked = SerializerMethodField()
- created_date = DateTimeField(read_only=True)
- views = IntegerField(label='Просмотры', read_only=True)
- likes = IntegerField(label='Лайки', read_only=True)
- content_type = ChoiceField(choices=['admin.logentry', 'advertise.advertise', 'advertise.advertisetype', 'articles.article', 'articles.workinghour', 'articles.articletracking', 'articles.websites', 'auth.group', 'auth.permission', 'authtoken.token', 'blacklists.blacklist', 'categories.category', 'chat.dialog', 'chat.message', 'contenttypes.contenttype', 'dating.member', 'dating.photolike', 'django_twilio.credential', 'django_twilio.caller', 'exchange_rates.exchangerate', 'files.projectfile', 'forum.forumpost', 'forum.forumtracking', 'forum.forumcategory', 'forum.privatemessage', 'forum.forumtopic', 'frontend.module', 'pages.page', 'push_notifications.apnsdevice', 'push_notifications.wnsdevice', 'push_notifications.gcmdevice', 'sessions.session', 'sites.site', 'star_ratings.rating', 'star_ratings.userrating', 'thumbnail.kvstore', 'users.admin', 'users.user', 'users.profile', 'viewflow.process', 'viewflow.task', 'votes.vote', 'votes.voterating', 'weather.weatherbyday', 'weather.weathercurrent'], write_only=True)
- content_type_ = SerializerMethodField(read_only=True)</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/usr/local/lib/python3.5/site-packages/rest_framework/mixins.py</code> in <code>perform_create</code>
- <div class="context" id="c140510397146120">
- <ol start="19" class="pre-context" id="pre140510397146120">
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> serializer = self.get_serializer(data=request.data)</pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> serializer.is_valid(raise_exception=True)</pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> self.perform_create(serializer)</pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> headers = self.get_success_headers(serializer.data)</pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)</pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre></pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> def perform_create(self, serializer):</pre></li>
- </ol>
- <ol start="26" class="context-line">
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre>
- serializer.save()</pre> <span>...</span></li></ol>
- <ol start='27' class="post-context" id="post140510397146120">
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre></pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> def get_success_headers(self, data):</pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> try:</pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> return {'Location': data[api_settings.URL_FIELD_NAME]}</pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> except (TypeError, KeyError):</pre></li>
- <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> return {}</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397146120')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397146120">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>self</td>
- <td class="code"><pre><files.views.ProjectFileView object at 0x7fcb2058b518></pre></td>
- </tr>
- <tr>
- <td>serializer</td>
- <td class="code"><pre>FileSerializer(context={'view': <files.views.ProjectFileView object>, 'request': <rest_framework.request.Request object>, 'format': None}, data=<QueryDict: {'content_type': ['forum.forumpost'], 'file': [<InMemoryUploadedFile: testTemp.jpeg (image/jpeg)>]}>):
- id = IntegerField(label='ID', read_only=True)
- file = FileField(label='Файлы', max_length=100)
- url = ReadOnlyField()
- owner = PrimaryKeyRelatedField(default=CurrentUserDefault(), read_only=True)
- is_liked = SerializerMethodField()
- created_date = DateTimeField(read_only=True)
- views = IntegerField(label='Просмотры', read_only=True)
- likes = IntegerField(label='Лайки', read_only=True)
- content_type = ChoiceField(choices=['admin.logentry', 'advertise.advertise', 'advertise.advertisetype', 'articles.article', 'articles.workinghour', 'articles.articletracking', 'articles.websites', 'auth.group', 'auth.permission', 'authtoken.token', 'blacklists.blacklist', 'categories.category', 'chat.dialog', 'chat.message', 'contenttypes.contenttype', 'dating.member', 'dating.photolike', 'django_twilio.credential', 'django_twilio.caller', 'exchange_rates.exchangerate', 'files.projectfile', 'forum.forumpost', 'forum.forumtracking', 'forum.forumcategory', 'forum.privatemessage', 'forum.forumtopic', 'frontend.module', 'pages.page', 'push_notifications.apnsdevice', 'push_notifications.wnsdevice', 'push_notifications.gcmdevice', 'sessions.session', 'sites.site', 'star_ratings.rating', 'star_ratings.userrating', 'thumbnail.kvstore', 'users.admin', 'users.user', 'users.profile', 'viewflow.process', 'viewflow.task', 'votes.vote', 'votes.voterating', 'weather.weatherbyday', 'weather.weathercurrent'], write_only=True)
- content_type_ = SerializerMethodField(read_only=True)</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/usr/local/lib/python3.5/site-packages/rest_framework/serializers.py</code> in <code>save</code>
- <div class="context" id="c140510397146184">
- <ol start="207" class="pre-context" id="pre140510397146184">
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre></pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> if self.instance is not None:</pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> self.instance = self.update(self.instance, validated_data)</pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> assert self.instance is not None, (</pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> '`update()` did not return an object instance.'</pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> )</pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> else:</pre></li>
- </ol>
- <ol start="214" class="context-line">
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre>
- self.instance = self.create(validated_data)</pre> <span>...</span></li></ol>
- <ol start='215' class="post-context" id="post140510397146184">
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> assert self.instance is not None, (</pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> '`create()` did not return an object instance.'</pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> )</pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre></pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> return self.instance</pre></li>
- <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397146184')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397146184">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre>FileSerializer(context={'view': <files.views.ProjectFileView object>, 'request': <rest_framework.request.Request object>, 'format': None}, data=<QueryDict: {'content_type': ['forum.forumpost'], 'file': [<InMemoryUploadedFile: testTemp.jpeg (image/jpeg)>]}>):
- id = IntegerField(label='ID', read_only=True)
- file = FileField(label='Файлы', max_length=100)
- url = ReadOnlyField()
- owner = PrimaryKeyRelatedField(default=CurrentUserDefault(), read_only=True)
- is_liked = SerializerMethodField()
- created_date = DateTimeField(read_only=True)
- views = IntegerField(label='Просмотры', read_only=True)
- likes = IntegerField(label='Лайки', read_only=True)
- content_type = ChoiceField(choices=['admin.logentry', 'advertise.advertise', 'advertise.advertisetype', 'articles.article', 'articles.workinghour', 'articles.articletracking', 'articles.websites', 'auth.group', 'auth.permission', 'authtoken.token', 'blacklists.blacklist', 'categories.category', 'chat.dialog', 'chat.message', 'contenttypes.contenttype', 'dating.member', 'dating.photolike', 'django_twilio.credential', 'django_twilio.caller', 'exchange_rates.exchangerate', 'files.projectfile', 'forum.forumpost', 'forum.forumtracking', 'forum.forumcategory', 'forum.privatemessage', 'forum.forumtopic', 'frontend.module', 'pages.page', 'push_notifications.apnsdevice', 'push_notifications.wnsdevice', 'push_notifications.gcmdevice', 'sessions.session', 'sites.site', 'star_ratings.rating', 'star_ratings.userrating', 'thumbnail.kvstore', 'users.admin', 'users.user', 'users.profile', 'viewflow.process', 'viewflow.task', 'votes.vote', 'votes.voterating', 'weather.weatherbyday', 'weather.weathercurrent'], write_only=True)
- content_type_ = SerializerMethodField(read_only=True)</pre></td>
- </tr>
- <tr>
- <td>validated_data</td>
- <td class="code"><pre>{'content_type': <ContentType: Сообщение>,
- 'file': <InMemoryUploadedFile: testTemp.jpeg (image/jpeg)>,
- 'owner': <User: TTT>}</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/usr/local/lib/python3.5/site-packages/rest_framework/serializers.py</code> in <code>create</code>
- <div class="context" id="c140510397145928">
- <ol start="906" class="pre-context" id="pre140510397145928">
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> info = model_meta.get_field_info(ModelClass)</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> many_to_many = {}</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> for field_name, relation_info in info.relations.items():</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> if relation_info.to_many and (field_name in validated_data):</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> many_to_many[field_name] = validated_data.pop(field_name)</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre></pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> try:</pre></li>
- </ol>
- <ol start="913" class="context-line">
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre>
- instance = ModelClass.objects.create(**validated_data)</pre> <span>...</span></li></ol>
- <ol start='914' class="post-context" id="post140510397145928">
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> except TypeError:</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> tb = traceback.format_exc()</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> msg = (</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> 'Got a `TypeError` when calling `%s.objects.create()`. '</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> 'This may be because you have a writable field on the '</pre></li>
- <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> 'serializer class that is not a valid argument to '</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397145928')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397145928">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>ModelClass</td>
- <td class="code"><pre><class 'files.models.ProjectFile'></pre></td>
- </tr>
- <tr>
- <td>field_name</td>
- <td class="code"><pre>'member_set'</pre></td>
- </tr>
- <tr>
- <td>info</td>
- <td class="code"><pre>FieldResult(pk=<django.db.models.fields.AutoField: id>, fields=OrderedDict([('file', <django.db.models.fields.files.FileField: file>), ('created_date', <django.db.models.fields.DateTimeField: created_date>), ('views', <django.db.models.fields.PositiveIntegerField: views>), ('likes', <django.db.models.fields.PositiveIntegerField: likes>)]), forward_relations=OrderedDict([('owner', RelationInfo(model_field=<django.db.models.fields.related.ForeignKey: owner>, related_model=<class 'users.models.User'>, to_many=False, to_field=None, has_through_model=False, reverse=False)), ('content_type', RelationInfo(model_field=<django.db.models.fields.related.ForeignKey: content_type>, related_model=<class 'django.contrib.contenttypes.models.ContentType'>, to_many=False, to_field='id', has_through_model=False, reverse=False))]), reverse_relations=OrderedDict([('user_avatar', RelationInfo(model_field=None, related_model=<class 'users.models.User'>, to_many=False, to_field=None, has_through_model=False, reverse=True)), ('category_set', RelationInfo(model_field=None, related_model=<class 'categories.models.Category'>, to_many=True, to_field=None, has_through_model=False, reverse=True)), ('article_preview', RelationInfo(model_field=None, related_model=<class 'articles.models.Article'>, to_many=True, to_field=None, has_through_model=False, reverse=True)), ('forumtopic_set', RelationInfo(model_field=None, related_model=<class 'forum.models.ForumTopic'>, to_many=True, to_field=None, has_through_model=False, reverse=True)), ('forumpost', RelationInfo(model_field=None, related_model=<class 'forum.models.ForumPost'>, to_many=False, to_field=None, has_through_model=False, reverse=True)), ('message_file', RelationInfo(model_field=None, related_model=<class 'chat.models.Message'>, to_many=False, to_field=None, has_through_model=False, reverse=True)), ('weather_fusion_file', RelationInfo(model_field=None, related_model=<class 'weather.models.WeatherCurrent'>, to_many=False, to_field=None, has_through_model=False, reverse=True)), ('weather_day_fusion_file', RelationInfo(model_field=None, related_model=<class 'weather.models.WeatherByDay'>, to_many=False, to_field=None, has_through_model=False, reverse=True)), ('photolike_set', RelationInfo(model_field=None, related_model=<class 'dating.models.PhotoLike'>, to_many=True, to_field=None, has_through_model=False, reverse=True)), ('advertise_set', RelationInfo(model_field=None, related_model=<class 'advertise.models.Advertise'>, to_many=True, to_field=None, has_through_model=False, reverse=True)), ('article_set', RelationInfo(model_field=None, related_model=<class 'articles.models.Article'>, to_many=True, to_field=None, has_through_model=False, reverse=True)), ('member_set', RelationInfo(model_field=None, related_model=<class 'dating.models.Member'>, to_many=True, to_field=None, has_through_model=False, reverse=True))]), fields_and_pk=OrderedDict([('pk', <django.db.models.fields.AutoField: id>), ('id', <django.db.models.fields.AutoField: id>), ('file', <django.db.models.fields.files.FileField: file>), ('created_date', <django.db.models.fields.DateTimeField: created_date>), ('views', <django.db.models.fields.PositiveIntegerField: views>), ('likes', <django.db.models.fields.PositiveIntegerField: likes>)]), relations=OrderedDict([('owner', RelationInfo(model_field=<django.db.models.fields.related.ForeignKey: owner>, related_model=<class 'users.models.User'>, to_many=False, to_field=None, has_through_model=False, reverse=False)), ('content_type', RelationInfo(model_field=<django.db.models.fields.related.ForeignKey: content_type>, related_model=<class 'django.contrib.contenttypes.models.ContentType'>, to_many=False, to_field='id', has_through_model=False, reverse=False)), ('user_avatar', RelationInfo(model_field=None, related_model=<class 'users.models.User'>, to_many=False, to_field=None, has_through_model=False, reverse=True)), ('category_set', RelationInfo(model_field=None, related_model=<class 'categories.models.Category'>, to_many=True, to_field=None, has_through_model=False, reverse=True)), ('article_previe... <trimmed 5779 bytes string></pre></td>
- </tr>
- <tr>
- <td>many_to_many</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>relation_info</td>
- <td class="code"><pre>RelationInfo(model_field=None, related_model=<class 'dating.models.Member'>, to_many=True, to_field=None, has_through_model=False, reverse=True)</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre>FileSerializer(context={'view': <files.views.ProjectFileView object>, 'request': <rest_framework.request.Request object>, 'format': None}, data=<QueryDict: {'content_type': ['forum.forumpost'], 'file': [<InMemoryUploadedFile: testTemp.jpeg (image/jpeg)>]}>):
- id = IntegerField(label='ID', read_only=True)
- file = FileField(label='Файлы', max_length=100)
- url = ReadOnlyField()
- owner = PrimaryKeyRelatedField(default=CurrentUserDefault(), read_only=True)
- is_liked = SerializerMethodField()
- created_date = DateTimeField(read_only=True)
- views = IntegerField(label='Просмотры', read_only=True)
- likes = IntegerField(label='Лайки', read_only=True)
- content_type = ChoiceField(choices=['admin.logentry', 'advertise.advertise', 'advertise.advertisetype', 'articles.article', 'articles.workinghour', 'articles.articletracking', 'articles.websites', 'auth.group', 'auth.permission', 'authtoken.token', 'blacklists.blacklist', 'categories.category', 'chat.dialog', 'chat.message', 'contenttypes.contenttype', 'dating.member', 'dating.photolike', 'django_twilio.credential', 'django_twilio.caller', 'exchange_rates.exchangerate', 'files.projectfile', 'forum.forumpost', 'forum.forumtracking', 'forum.forumcategory', 'forum.privatemessage', 'forum.forumtopic', 'frontend.module', 'pages.page', 'push_notifications.apnsdevice', 'push_notifications.wnsdevice', 'push_notifications.gcmdevice', 'sessions.session', 'sites.site', 'star_ratings.rating', 'star_ratings.userrating', 'thumbnail.kvstore', 'users.admin', 'users.user', 'users.profile', 'viewflow.process', 'viewflow.task', 'votes.vote', 'votes.voterating', 'weather.weatherbyday', 'weather.weathercurrent'], write_only=True)
- content_type_ = SerializerMethodField(read_only=True)</pre></td>
- </tr>
- <tr>
- <td>validated_data</td>
- <td class="code"><pre>{'content_type': <ContentType: Сообщение>,
- 'file': <InMemoryUploadedFile: testTemp.jpeg (image/jpeg)>,
- 'owner': <User: TTT>}</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/db/models/manager.py</code> in <code>manager_method</code>
- <div class="context" id="c140510396967752">
- <ol start="78" class="pre-context" id="pre140510396967752">
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> def check(self, **kwargs):</pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> return []</pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre></pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> @classmethod</pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> def _get_queryset_methods(cls, queryset_class):</pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> def create_method(name, method):</pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> def manager_method(self, *args, **kwargs):</pre></li>
- </ol>
- <ol start="85" class="context-line">
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre>
- return getattr(self.get_queryset(), name)(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='86' class="post-context" id="post140510396967752">
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> manager_method.__name__ = method.__name__</pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> manager_method.__doc__ = method.__doc__</pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> return manager_method</pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre></pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> new_methods = {}</pre></li>
- <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> # Refs http://bugs.python.org/issue1785.</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510396967752')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510396967752">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'content_type': <ContentType: Сообщение>,
- 'file': <InMemoryUploadedFile: testTemp.jpeg (image/jpeg)>,
- 'owner': <User: TTT>}</pre></td>
- </tr>
- <tr>
- <td>name</td>
- <td class="code"><pre>'create'</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.db.models.manager.Manager object at 0x7fcb218b7320></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/db/models/query.py</code> in <code>create</code>
- <div class="context" id="c140510396965448">
- <ol start="386" class="pre-context" id="pre140510396965448">
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> def create(self, **kwargs):</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> """</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> Creates a new object with the given kwargs, saving it to the database</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> and returning the created object.</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> """</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> obj = self.model(**kwargs)</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> self._for_write = True</pre></li>
- </ol>
- <ol start="393" class="context-line">
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre>
- obj.save(force_insert=True, using=self.db)</pre> <span>...</span></li></ol>
- <ol start='394' class="post-context" id="post140510396965448">
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> return obj</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre></pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> def _populate_pk_values(self, objs):</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> for obj in objs:</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> if obj.pk is None:</pre></li>
- <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> obj.pk = obj._meta.pk.get_pk_value_on_save(obj)</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510396965448')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510396965448">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'content_type': <ContentType: Сообщение>,
- 'file': <InMemoryUploadedFile: testTemp.jpeg (image/jpeg)>,
- 'owner': <User: TTT>}</pre></td>
- </tr>
- <tr>
- <td>obj</td>
- <td class="code"><pre><ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><QuerySet [<ProjectFile: http://phuketon.dvhs.pro/media/files/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA_oAmmgU6.PNG>, <ProjectFile: http://phuketon.dvhs.pro/media/files/001_01_%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0_%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F_v2.png>, <ProjectFile: http://phuketon.dvhs.pro/media/files/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA_qh9KR4H.PNG>, <ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_qAtwmlB.gif>, <ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_9JWrItX.gif>, <ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_CYy8ezD.gif>, <ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_Eb4r0Jq.gif>, <ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_zrJw5Xk.gif>, <ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_WFB1dgg.gif>, <ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_IWXndtH.gif>, <ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_8jCBP80.gif>, <ProjectFile: >, <ProjectFile: >, <ProjectFile: >, <ProjectFile: >, <ProjectFile: >, <ProjectFile: http://phuketon.dvhs.pro/media/files/IMG_1593.jpg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/Untitled-1.png>, <ProjectFile: http://phuketon.dvhs.pro/media/files/imageTemp1512633581541.jpg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/imageTemp1512633702019.jpg>, '...(remaining elements truncated)...']></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/db/models/base.py</code> in <code>save</code>
- <div class="context" id="c140510396968776">
- <ol start="799" class="pre-context" id="pre140510396968776">
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> if not field.primary_key and not hasattr(field, 'through'):</pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> field_names.add(field.attname)</pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> loaded_fields = field_names.difference(deferred_fields)</pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> if loaded_fields:</pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> update_fields = frozenset(loaded_fields)</pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre></pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> self.save_base(using=using, force_insert=force_insert,</pre></li>
- </ol>
- <ol start="806" class="context-line">
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre>
- force_update=force_update, update_fields=update_fields)</pre> <span>...</span></li></ol>
- <ol start='807' class="post-context" id="post140510396968776">
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> save.alters_data = True</pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre></pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> def save_base(self, raw=False, force_insert=False,</pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> force_update=False, using=None, update_fields=None):</pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> """</pre></li>
- <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> Handles the parts of saving which should be done only once per save,</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510396968776')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510396968776">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>deferred_fields</td>
- <td class="code"><pre>set()</pre></td>
- </tr>
- <tr>
- <td>field</td>
- <td class="code"><pre><django.db.models.fields.PositiveIntegerField: likes></pre></td>
- </tr>
- <tr>
- <td>force_insert</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>force_update</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>obj</td>
- <td class="code"><pre><ContentType: Сообщение></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg></pre></td>
- </tr>
- <tr>
- <td>update_fields</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>using</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/db/models/base.py</code> in <code>save_base</code>
- <div class="context" id="c140510396966920">
- <ol start="839" class="pre-context" id="pre140510396966920">
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> # Once saved, this is no longer a to-be-added instance.</pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> self._state.adding = False</pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre></pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> # Signal that the save is complete</pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> if not meta.auto_created:</pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> post_save.send(</pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> sender=origin, instance=self, created=(not updated),</pre></li>
- </ol>
- <ol start="846" class="context-line">
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre>
- update_fields=update_fields, raw=raw, using=using,</pre> <span>...</span></li></ol>
- <ol start='847' class="post-context" id="post140510396966920">
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> )</pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre></pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> save_base.alters_data = True</pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre></pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> def _save_parents(self, cls, using, update_fields):</pre></li>
- <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> """</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510396966920')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510396966920">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>cls</td>
- <td class="code"><pre><class 'files.models.ProjectFile'></pre></td>
- </tr>
- <tr>
- <td>force_insert</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>force_update</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>meta</td>
- <td class="code"><pre><Options for ProjectFile></pre></td>
- </tr>
- <tr>
- <td>origin</td>
- <td class="code"><pre><class 'files.models.ProjectFile'></pre></td>
- </tr>
- <tr>
- <td>raw</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg></pre></td>
- </tr>
- <tr>
- <td>update_fields</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>updated</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>using</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py</code> in <code>send</code>
- <div class="context" id="c140510399104840">
- <ol start="186" class="pre-context" id="pre140510399104840">
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> Returns a list of tuple pairs [(receiver, response), ... ].</pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> """</pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:</pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> return []</pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre></pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> return [</pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> (receiver, receiver(signal=self, sender=sender, **named))</pre></li>
- </ol>
- <ol start="193" class="context-line">
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre>
- for receiver in self._live_receivers(sender)</pre> <span>...</span></li></ol>
- <ol start='194' class="post-context" id="post140510399104840">
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> ]</pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre></pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> def send_robust(self, sender, **named):</pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> """</pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> Send signal from sender to all connected receivers catching errors.</pre></li>
- <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510399104840')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510399104840">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>named</td>
- <td class="code"><pre>{'created': True,
- 'instance': <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg>,
- 'raw': False,
- 'update_fields': None,
- 'using': 'default'}</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.db.models.signals.ModelSignal object at 0x7fcb337ceb70></pre></td>
- </tr>
- <tr>
- <td>sender</td>
- <td class="code"><pre><class 'files.models.ProjectFile'></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py</code> in <code><listcomp></code>
- <div class="context" id="c140510399106184">
- <ol start="186" class="pre-context" id="pre140510399106184">
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> Returns a list of tuple pairs [(receiver, response), ... ].</pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> """</pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:</pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> return []</pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre></pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> return [</pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> (receiver, receiver(signal=self, sender=sender, **named))</pre></li>
- </ol>
- <ol start="193" class="context-line">
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre>
- for receiver in self._live_receivers(sender)</pre> <span>...</span></li></ol>
- <ol start='194' class="post-context" id="post140510399106184">
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> ]</pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre></pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> def send_robust(self, sender, **named):</pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> """</pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> Send signal from sender to all connected receivers catching errors.</pre></li>
- <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510399106184')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510399106184">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>.0</td>
- <td class="code"><pre><list_iterator object at 0x7fcb205969b0></pre></td>
- </tr>
- <tr>
- <td>named</td>
- <td class="code"><pre>{'created': True,
- 'instance': <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg>,
- 'raw': False,
- 'update_fields': None,
- 'using': 'default'}</pre></td>
- </tr>
- <tr>
- <td>receiver</td>
- <td class="code"><pre><function calculate_total_likes_views at 0x7fcb20e51598></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.db.models.signals.ModelSignal object at 0x7fcb337ceb70></pre></td>
- </tr>
- <tr>
- <td>sender</td>
- <td class="code"><pre><class 'files.models.ProjectFile'></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/app/files/signals.py</code> in <code>calculate_total_likes_views</code>
- <div class="context" id="c140510397647624">
- <ol start="15" class="pre-context" id="pre140510397647624">
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre></pre></li>
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre></pre></li>
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre>@receiver(post_save, sender=ProjectFile)</pre></li>
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre>def calculate_total_likes_views(sender, instance, **kwargs):</pre></li>
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> queryset = ProjectFile.objects.filter(owner_id=instance.owner.id)</pre></li>
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> total = queryset.aggregate(total_views=Sum('views'), total_likes=Sum('likes'))</pre></li>
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> member = Member.objects.filter(user_id=instance.owner.id).first()</pre></li>
- </ol>
- <ol start="22" class="context-line">
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre>
- member.total_views = total.get('total_views')</pre> <span>...</span></li></ol>
- <ol start='23' class="post-context" id="post140510397647624">
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> member.total_likes = total.get('total_likes')</pre></li>
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> member.save(update_fields=['total_views', 'total_likes'])</pre></li>
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre></pre></li>
- <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397647624')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397647624">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>instance</td>
- <td class="code"><pre><ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'created': True,
- 'raw': False,
- 'signal': <django.db.models.signals.ModelSignal object at 0x7fcb337ceb70>,
- 'update_fields': None,
- 'using': 'default'}</pre></td>
- </tr>
- <tr>
- <td>member</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>queryset</td>
- <td class="code"><pre><QuerySet [<ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp.jpeg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_xi23eLa.jpeg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_QDrgCW4.jpeg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_sgaPPcI.jpeg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_LPTrBnf.jpeg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_cYBq3KP.jpeg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_eLMVU6L.jpeg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_omYbW2W.jpeg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_rAAKvcW.jpeg>, <ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg>]></pre></td>
- </tr>
- <tr>
- <td>sender</td>
- <td class="code"><pre><class 'files.models.ProjectFile'></pre></td>
- </tr>
- <tr>
- <td>total</td>
- <td class="code"><pre>{'total_likes': 0, 'total_views': 0}</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li><h3>
- During handling of the above exception ('NoneType' object has no attribute 'total_views'), another exception occurred:
- </h3></li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
- <div class="context" id="c140510396641928">
- <ol start="34" class="pre-context" id="pre140510396641928">
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> can rely on getting a response instead of an exception.</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> """</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> def inner(request):</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> try:</pre></li>
- </ol>
- <ol start="41" class="context-line">
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre>
- response = get_response(request)</pre> <span>...</span></li></ol>
- <ol start='42' class="post-context" id="post140510396641928">
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> except Exception as exc:</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> response = response_for_exception(request, exc)</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> return response</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> return inner</pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre></pre></li>
- <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510396641928')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510396641928">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>exc</td>
- <td class="code"><pre>AttributeError("'dict' object has no attribute 'exception'",)</pre></td>
- </tr>
- <tr>
- <td>get_response</td>
- <td class="code"><pre><bound method BaseHandler._legacy_get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fcb31ca67b8>></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/v1/files/'></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
- <div class="context" id="c140510397145864">
- <ol start="242" class="pre-context" id="pre140510397145864">
- <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> # Apply request middleware</pre></li>
- <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> for middleware_method in self._request_middleware:</pre></li>
- <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> response = middleware_method(request)</pre></li>
- <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> if response:</pre></li>
- <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> break</pre></li>
- <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre></pre></li>
- <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> if response is None:</pre></li>
- </ol>
- <ol start="249" class="context-line">
- <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre>
- response = self._get_response(request)</pre> <span>...</span></li></ol>
- <ol start='250' class="post-context" id="post140510397145864">
- <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> return response</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397145864')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397145864">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>middleware_method</td>
- <td class="code"><pre><bound method ActiveUserMiddleware.process_request of <core.middleware.ActiveUserMiddleware object at 0x7fcb20e0c7f0>></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/v1/files/'></pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x7fcb31ca67b8></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
- <div class="context" id="c140510397148360">
- <ol start="180" class="pre-context" id="pre140510397148360">
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> break</pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre></pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> try:</pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> except Exception as e:</pre></li>
- </ol>
- <ol start="187" class="context-line">
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre>
- response = self.process_exception_by_middleware(e, request)</pre> <span>...</span></li></ol>
- <ol start='188' class="post-context" id="post140510397148360">
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre></pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> # Complain if the view returned None (a common error).</pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> view_name = callback.__name__</pre></li>
- <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> else: # CBV</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397148360')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397148360">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>callback</td>
- <td class="code"><pre><function ProjectFileView at 0x7fcb20d6eb70></pre></td>
- </tr>
- <tr>
- <td>callback_args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>callback_kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>middleware_method</td>
- <td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fcb20e0c6a0>></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/v1/files/'></pre></td>
- </tr>
- <tr>
- <td>resolver</td>
- <td class="code"><pre><RegexURLResolver 'urls' (None:None) ^/></pre></td>
- </tr>
- <tr>
- <td>resolver_match</td>
- <td class="code"><pre>ResolverMatch(func=files.views.ProjectFileView, args=(), kwargs={}, url_name=files-list, app_names=[], namespaces=[])</pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x7fcb31ca67b8></pre></td>
- </tr>
- <tr>
- <td>wrapped_callback</td>
- <td class="code"><pre><function ProjectFileView at 0x7fcb20d6eb70></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
- <div class="context" id="c140510397149000">
- <ol start="178" class="pre-context" id="pre140510397149000">
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> if response:</pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> break</pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre></pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> try:</pre></li>
- </ol>
- <ol start="185" class="context-line">
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre>
- response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol>
- <ol start='186' class="post-context" id="post140510397149000">
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> except Exception as e:</pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre></pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> # Complain if the view returned None (a common error).</pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397149000')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397149000">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>callback</td>
- <td class="code"><pre><function ProjectFileView at 0x7fcb20d6eb70></pre></td>
- </tr>
- <tr>
- <td>callback_args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>callback_kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>middleware_method</td>
- <td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fcb20e0c6a0>></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/v1/files/'></pre></td>
- </tr>
- <tr>
- <td>resolver</td>
- <td class="code"><pre><RegexURLResolver 'urls' (None:None) ^/></pre></td>
- </tr>
- <tr>
- <td>resolver_match</td>
- <td class="code"><pre>ResolverMatch(func=files.views.ProjectFileView, args=(), kwargs={}, url_name=files-list, app_names=[], namespaces=[])</pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x7fcb31ca67b8></pre></td>
- </tr>
- <tr>
- <td>wrapped_callback</td>
- <td class="code"><pre><function ProjectFileView at 0x7fcb20d6eb70></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/usr/local/lib/python3.5/site-packages/django/views/decorators/csrf.py</code> in <code>wrapped_view</code>
- <div class="context" id="c140510397148424">
- <ol start="51" class="pre-context" id="pre140510397148424">
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> """</pre></li>
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> Marks a view function as being exempt from the CSRF view protection.</pre></li>
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> """</pre></li>
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> # We could just do view_func.csrf_exempt = True, but decorators</pre></li>
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> # are nicer if they don't have side-effects, so we return a new</pre></li>
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> # function.</pre></li>
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> def wrapped_view(*args, **kwargs):</pre></li>
- </ol>
- <ol start="58" class="context-line">
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre>
- return view_func(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='59' class="post-context" id="post140510397148424">
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> wrapped_view.csrf_exempt = True</pre></li>
- <li onclick="toggle('pre140510397148424', 'post140510397148424')"><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, '140510397148424')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397148424">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>args</td>
- <td class="code"><pre>(<WSGIRequest: POST '/api/v1/files/'>,)</pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>view_func</td>
- <td class="code"><pre><function ProjectFileView at 0x7fcb20d6eae8></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/usr/local/lib/python3.5/site-packages/rest_framework/viewsets.py</code> in <code>view</code>
- <div class="context" id="c140510397146248">
- <ol start="83" class="pre-context" id="pre140510397146248">
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> self.head = self.get</pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre></pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> self.request = request</pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> self.args = args</pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> self.kwargs = kwargs</pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre></pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> # And continue as usual</pre></li>
- </ol>
- <ol start="90" class="context-line">
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre>
- return self.dispatch(request, *args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='91' class="post-context" id="post140510397146248">
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre></pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> # take name and docstring from class</pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> update_wrapper(view, cls, updated=())</pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre></pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> # and possible attributes set by decorators</pre></li>
- <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> # like csrf_exempt from dispatch</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397146248')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397146248">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>action</td>
- <td class="code"><pre>'create'</pre></td>
- </tr>
- <tr>
- <td>actions</td>
- <td class="code"><pre>{'get': 'list', 'post': 'create'}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>cls</td>
- <td class="code"><pre><class 'files.views.ProjectFileView'></pre></td>
- </tr>
- <tr>
- <td>handler</td>
- <td class="code"><pre><bound method CreateModelMixin.create of <files.views.ProjectFileView object at 0x7fcb2058b518>></pre></td>
- </tr>
- <tr>
- <td>initkwargs</td>
- <td class="code"><pre>{'suffix': 'List'}</pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>method</td>
- <td class="code"><pre>'post'</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/v1/files/'></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><files.views.ProjectFileView object at 0x7fcb2058b518></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/usr/local/lib/python3.5/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
- <div class="context" id="c140510397145416">
- <ol start="482" class="pre-context" id="pre140510397145416">
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> self.http_method_not_allowed)</pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> else:</pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> handler = self.http_method_not_allowed</pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre></pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> response = handler(request, *args, **kwargs)</pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre></pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> except Exception as exc:</pre></li>
- </ol>
- <ol start="489" class="context-line">
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre>
- response = self.handle_exception(exc)</pre> <span>...</span></li></ol>
- <ol start='490' class="post-context" id="post140510397145416">
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre></pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> return self.response</pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre></pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> def options(self, request, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> """</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510397145416')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510397145416">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>handler</td>
- <td class="code"><pre><bound method CreateModelMixin.create of <files.views.ProjectFileView object at 0x7fcb2058b518>></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><rest_framework.request.Request object at 0x7fcb2058bf98></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><files.views.ProjectFileView object at 0x7fcb2058b518></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/usr/local/lib/python3.5/site-packages/rest_framework/views.py</code> in <code>handle_exception</code>
- <div class="context" id="c140510396659016">
- <ol start="444" class="pre-context" id="pre140510396659016">
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre></pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> context = self.get_exception_handler_context()</pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> response = exception_handler(exc, context)</pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre></pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> self.raise_uncaught_exception(exc)</pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre></pre></li>
- </ol>
- <ol start="451" class="context-line">
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre>
- response.exception = True</pre> <span>...</span></li></ol>
- <ol start='452' class="post-context" id="post140510396659016">
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> return response</pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre></pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> def raise_uncaught_exception(self, exc):</pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> if settings.DEBUG:</pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> request = self.request</pre></li>
- <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> renderer_format = getattr(request.accepted_renderer, 'format')</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140510396659016')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140510396659016">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>context</td>
- <td class="code"><pre>{'args': (),
- 'kwargs': {},
- 'request': <rest_framework.request.Request object at 0x7fcb2058bf98>,
- 'view': <files.views.ProjectFileView object at 0x7fcb2058b518>}</pre></td>
- </tr>
- <tr>
- <td>exc</td>
- <td class="code"><pre>AttributeError("'NoneType' object has no attribute 'total_views'",)</pre></td>
- </tr>
- <tr>
- <td>exception_handler</td>
- <td class="code"><pre><function custom_exception_handler at 0x7fcb20590488></pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>{'errors': []}</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><files.views.ProjectFileView object at 0x7fcb2058b518></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 /api/v1/files/">
- <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://phuketon.dvhs.pro/api/v1/files/
- Django Version: 1.11
- Python Version: 3.5.4
- Installed Applications:
- ('django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'django.contrib.sites',
- 'django.contrib.sitemaps',
- 'django.contrib.gis',
- 'django.forms',
- 'viewflow.frontend',
- 'viewflow',
- 'mptt',
- 'material.theme.amber',
- 'material',
- 'material.frontend',
- 'material.admin',
- 'admin_view_permission',
- 'django.contrib.admin',
- 'corsheaders',
- 'django_twilio',
- 'push_notifications',
- 'rest_framework',
- 'rest_framework.authtoken',
- 'rest_auth',
- 'rest_auth.registration',
- 'sorl.thumbnail',
- 'datetimewidget',
- 'adminsortable2',
- 'channels',
- 'channels_api',
- 'expander',
- 'multiselectfield',
- 'django_filters',
- 'sekizai',
- 'meta',
- 'star_ratings',
- 'core',
- 'files',
- 'authentication',
- 'users',
- 'pages',
- 'exchange_rates',
- 'categories',
- 'advertise',
- 'articles',
- 'forum',
- 'chat',
- 'weather',
- 'blacklists',
- 'dating',
- 'maps',
- 'gunicorn',
- 'rest_framework_swagger')
- Installed Middleware:
- ('django.contrib.sessions.middleware.SessionMiddleware',
- 'corsheaders.middleware.CorsMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware',
- 'django.middleware.security.SecurityMiddleware',
- 'django.middleware.locale.LocaleMiddleware',
- 'core.middleware.ActiveUserMiddleware',
- 'material.frontend.middleware.SmoothNavigationMiddleware')
- Traceback:
- File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
- 486. response = handler(request, *args, **kwargs)
- File "/usr/local/lib/python3.5/site-packages/rest_framework/mixins.py" in create
- 21. self.perform_create(serializer)
- File "/usr/local/lib/python3.5/site-packages/rest_framework/mixins.py" in perform_create
- 26. serializer.save()
- File "/usr/local/lib/python3.5/site-packages/rest_framework/serializers.py" in save
- 214. self.instance = self.create(validated_data)
- File "/usr/local/lib/python3.5/site-packages/rest_framework/serializers.py" in create
- 913. instance = ModelClass.objects.create(**validated_data)
- File "/usr/local/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
- 85. return getattr(self.get_queryset(), name)(*args, **kwargs)
- File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py" in create
- 393. obj.save(force_insert=True, using=self.db)
- File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py" in save
- 806. force_update=force_update, update_fields=update_fields)
- File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py" in save_base
- 846. update_fields=update_fields, raw=raw, using=using,
- File "/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py" in send
- 193. for receiver in self._live_receivers(sender)
- File "/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py" in <listcomp>
- 193. for receiver in self._live_receivers(sender)
- File "/app/files/signals.py" in calculate_total_likes_views
- 22. member.total_views = total.get('total_views')
- During handling of the above exception ('NoneType' object has no attribute 'total_views'), another exception occurred:
- File "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
- 41. response = get_response(request)
- File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _legacy_get_response
- 249. response = self._get_response(request)
- File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
- 187. response = self.process_exception_by_middleware(e, request)
- File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
- 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
- File "/usr/local/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
- 58. return view_func(*args, **kwargs)
- File "/usr/local/lib/python3.5/site-packages/rest_framework/viewsets.py" in view
- 90. return self.dispatch(request, *args, **kwargs)
- File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
- 489. response = self.handle_exception(exc)
- File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
- 451. response.exception = True
- Exception Type: AttributeError at /api/v1/files/
- Exception Value: 'dict' object has no attribute 'exception'
- </textarea>
- <br><br>
- <input type="submit" value="Share this traceback on a public website">
- </div>
- </form>
- </div>
- <div id="requestinfo">
- <h2>Request information</h2>
- <h3 id="user-info">USER</h3>
- <p>TTT</p>
- <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>
- </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>CONTENT_LENGTH</td>
- <td class="code"><pre>'250581'</pre></td>
- </tr>
- <tr>
- <td>CONTENT_TYPE</td>
- <td class="code"><pre>'multipart/form-data; boundary=alamofire.boundary.6046031b86323bd0'</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT</td>
- <td class="code"><pre>'*/*'</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT_ENCODING</td>
- <td class="code"><pre>'gzip;q=1.0, compress;q=0.5'</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT_LANGUAGE</td>
- <td class="code"><pre>'en;q=1.0, ru-RU;q=0.9'</pre></td>
- </tr>
- <tr>
- <td>HTTP_AUTHORIZATION</td>
- <td class="code"><pre>'Token 2f3df87a3f101959fe4ce7ccbf4f088e5528914e'</pre></td>
- </tr>
- <tr>
- <td>HTTP_CONNECTION</td>
- <td class="code"><pre>'close'</pre></td>
- </tr>
- <tr>
- <td>HTTP_HOST</td>
- <td class="code"><pre>'phuketon.dvhs.pro'</pre></td>
- </tr>
- <tr>
- <td>HTTP_USER_AGENT</td>
- <td class="code"><pre>'PhuketON/1.0 (com.NGSE.PhuketON; build:1; iOS 11.2.0) Alamofire/4.6.0'</pre></td>
- </tr>
- <tr>
- <td>HTTP_X_FORWARDED_FOR</td>
- <td class="code"><pre>'178.238.43.77, 172.17.0.7'</pre></td>
- </tr>
- <tr>
- <td>HTTP_X_FORWARDED_PORT</td>
- <td class="code"><pre>'80'</pre></td>
- </tr>
- <tr>
- <td>HTTP_X_FORWARDED_PROTO</td>
- <td class="code"><pre>'http'</pre></td>
- </tr>
- <tr>
- <td>HTTP_X_FORWARDED_SSL</td>
- <td class="code"><pre>'off'</pre></td>
- </tr>
- <tr>
- <td>HTTP_X_REAL_IP</td>
- <td class="code"><pre>'178.238.43.77'</pre></td>
- </tr>
- <tr>
- <td>PATH_INFO</td>
- <td class="code"><pre>'/api/v1/files/'</pre></td>
- </tr>
- <tr>
- <td>QUERY_STRING</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>RAW_URI</td>
- <td class="code"><pre>'/api/v1/files/'</pre></td>
- </tr>
- <tr>
- <td>REMOTE_ADDR</td>
- <td class="code"><pre>'172.17.0.24'</pre></td>
- </tr>
- <tr>
- <td>REMOTE_PORT</td>
- <td class="code"><pre>'52892'</pre></td>
- </tr>
- <tr>
- <td>REQUEST_METHOD</td>
- <td class="code"><pre>'POST'</pre></td>
- </tr>
- <tr>
- <td>SCRIPT_NAME</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>SERVER_NAME</td>
- <td class="code"><pre>'0.0.0.0'</pre></td>
- </tr>
- <tr>
- <td>SERVER_PORT</td>
- <td class="code"><pre>'5000'</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>'gunicorn/19.6.0'</pre></td>
- </tr>
- <tr>
- <td>gunicorn.socket</td>
- <td class="code"><pre><socket.socket fd=13, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.15', 5000), raddr=('172.17.0.24', 52892)></pre></td>
- </tr>
- <tr>
- <td>wsgi.errors</td>
- <td class="code"><pre><gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fcb2058b6a0></pre></td>
- </tr>
- <tr>
- <td>wsgi.file_wrapper</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>wsgi.input</td>
- <td class="code"><pre><gunicorn.http.body.Body object at 0x7fcb2058bf60></pre></td>
- </tr>
- <tr>
- <td>wsgi.multiprocess</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>wsgi.multithread</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>wsgi.run_once</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>wsgi.url_scheme</td>
- <td class="code"><pre>'http'</pre></td>
- </tr>
- <tr>
- <td>wsgi.version</td>
- <td class="code"><pre>(1, 0)</pre></td>
- </tr>
- </tbody>
- </table>
- <h3 id="settings-info">Settings</h3>
- <h4>Using settings module <code>config</code></h4>
- <table class="req">
- <thead>
- <tr>
- <th>Setting</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>ABSOLUTE_URL_OVERRIDES</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>ADMINS</td>
- <td class="code"><pre>(('Author', 'sahalin.test@gmail.com'),)</pre></td>
- </tr>
- <tr>
- <td>ALLOWED_HOSTS</td>
- <td class="code"><pre>['*']</pre></td>
- </tr>
- <tr>
- <td>APPEND_SLASH</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>APP_GROUP_PERMISSIONS</td>
- <td class="code"><pre>{'events_calendar': ['is_food_truck_admin', 'is_company_admin']}</pre></td>
- </tr>
- <tr>
- <td>AUTHENTICATION_BACKENDS</td>
- <td class="code"><pre>('config.auth_backend.PasswordlessAuthBackend',)</pre></td>
- </tr>
- <tr>
- <td>AUTH_PASSWORD_VALIDATORS</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>AUTH_USER_MODEL</td>
- <td class="code"><pre>'users.User'</pre></td>
- </tr>
- <tr>
- <td>AWS_HEADERS</td>
- <td class="code"><pre>{'Cache-Control': 'max-age=86400, s-maxage=86400, must-revalidate'}</pre></td>
- </tr>
- <tr>
- <td>BOSS_EMAIL</td>
- <td class="code"><pre>'sahalin.test@gmail.com'</pre></td>
- </tr>
- <tr>
- <td>BROKER_URL</td>
- <td class="code"><pre>'amqp://guest:guest@rabbitmq:5672//'</pre></td>
- </tr>
- <tr>
- <td>BUILDING_MANAGER</td>
- <td class="code"><pre>'building_manager'</pre></td>
- </tr>
- <tr>
- <td>CACHES</td>
- <td class="code"><pre>{'default': {'BACKEND': 'redis_cache.RedisCache',
- 'LOCATION': 'phuketon_redis:6379',
- 'OPTIONS': {'CONNECTION_POOL_CLASS': 'redis.BlockingConnectionPool',
- 'CONNECTION_POOL_CLASS_KWARGS': {'max_connections': 50,
- 'timeout': 20},
- 'DB': 0,
- 'PARSER_CLASS': 'redis.connection.HiredisParser',
- 'PASSWORD': '********************'}}}</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_ALIAS</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_SECONDS</td>
- <td class="code"><pre>600</pre></td>
- </tr>
- <tr>
- <td>CELERY_ACCEPT_CONTENT</td>
- <td class="code"><pre>['json']</pre></td>
- </tr>
- <tr>
- <td>CELERY_IMPORTS</td>
- <td class="code"><pre>('config.tasks',)</pre></td>
- </tr>
- <tr>
- <td>CELERY_RESULT_BACKEND</td>
- <td class="code"><pre>'amqp'</pre></td>
- </tr>
- <tr>
- <td>CELERY_RESULT_SERIALIZER</td>
- <td class="code"><pre>'json'</pre></td>
- </tr>
- <tr>
- <td>CELERY_TASK_SERIALIZER</td>
- <td class="code"><pre>'json'</pre></td>
- </tr>
- <tr>
- <td>CHANNELS_API</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>COMPANY_ADMIN</td>
- <td class="code"><pre>'company_admin'</pre></td>
- </tr>
- <tr>
- <td>CONFIGURATION</td>
- <td class="code"><pre>'config.Production'</pre></td>
- </tr>
- <tr>
- <td>CORS_ALLOW_CREDENTIALS</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>CORS_ORIGIN_ALLOW_ALL</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_AGE</td>
- <td class="code"><pre>31449600</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_HTTPONLY</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_NAME</td>
- <td class="code"><pre>'csrftoken'</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_SECURE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CSRF_FAILURE_VIEW</td>
- <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td>
- </tr>
- <tr>
- <td>CSRF_HEADER_NAME</td>
- <td class="code"><pre>'HTTP_X_CSRFTOKEN'</pre></td>
- </tr>
- <tr>
- <td>CSRF_TRUSTED_ORIGINS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>CSRF_USE_SESSIONS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CUSTOMER</td>
- <td class="code"><pre>'customer'</pre></td>
- </tr>
- <tr>
- <td>DATABASES</td>
- <td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
- 'AUTOCOMMIT': True,
- 'CONN_MAX_AGE': 0,
- 'ENGINE': 'django.contrib.gis.db.backends.postgis',
- 'HOST': 'db',
- 'NAME': 'phuketon',
- 'OPTIONS': {},
- 'PASSWORD': '********************',
- 'PORT': '5432',
- 'TEST': {'CHARSET': None,
- 'COLLATION': None,
- 'MIRROR': None,
- 'NAME': None},
- 'TIME_ZONE': None,
- 'USER': 'root'}}</pre></td>
- </tr>
- <tr>
- <td>DATABASE_ROUTERS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
- <td class="code"><pre>2621440</pre></td>
- </tr>
- <tr>
- <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
- <td class="code"><pre>1000</pre></td>
- </tr>
- <tr>
- <td>DATETIME_FORMAT</td>
- <td class="code"><pre>'N j, Y, P'</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>DATE_FORMAT</td>
- <td class="code"><pre>'N j, Y'</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>DEBUG</td>
- <td class="code"><pre>'1'</pre></td>
- </tr>
- <tr>
- <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>DECIMAL_SEPARATOR</td>
- <td class="code"><pre>'.'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_CHARSET</td>
- <td class="code"><pre>'utf-8'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_CONTENT_TYPE</td>
- <td class="code"><pre>'text/html'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
- <td class="code"><pre>'django.views.debug.SafeExceptionReporterFilter'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_FILE_STORAGE</td>
- <td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_FROM_EMAIL</td>
- <td class="code"><pre>'sahalin.test@gmail.com'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_INDEX_TABLESPACE</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_TABLESPACE</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>DISALLOWED_USER_AGENTS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>DOTENV_LOADED</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>EMAIL_BACKEND</td>
- <td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST</td>
- <td class="code"><pre>'smtp.gmail.com'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST_PASSWORD</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST_USER</td>
- <td class="code"><pre>'sahalin.test@gmail.com'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_PORT</td>
- <td class="code"><pre>587</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SSL_CERTFILE</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SSL_KEYFILE</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SUBJECT_PREFIX</td>
- <td class="code"><pre>'[Django] '</pre></td>
- </tr>
- <tr>
- <td>EMAIL_TIMEOUT</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>EMAIL_USE_LOCALTIME</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>EMAIL_USE_SSL</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>EMAIL_USE_TLS</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>FILE_CHARSET</td>
- <td class="code"><pre>'utf-8'</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_DIRECTORY_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>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
- <td class="code"><pre>5242880</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_PERMISSIONS</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_TEMP_DIR</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FIRST_DAY_OF_WEEK</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>FIXTURE_DIRS</td>
- <td class="code"><pre>['fixtures']</pre></td>
- </tr>
- <tr>
- <td>FOOD_TRUCK_ADMIN</td>
- <td class="code"><pre>'food_truck_admin'</pre></td>
- </tr>
- <tr>
- <td>FORCE_SCRIPT_NAME</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FORMAT_MODULE_PATH</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FORM_RENDERER</td>
- <td class="code"><pre>'django.forms.renderers.DjangoTemplates'</pre></td>
- </tr>
- <tr>
- <td>GEOLOCATION_MAP_DEFAULT</td>
- <td class="code"><pre>{'lat': 38.896614, 'lng': -77.036321}</pre></td>
- </tr>
- <tr>
- <td>GOOGLE_API_KEY</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>HELP_TEXT</td>
- <td class="code"><pre>{'PHONE': 'Format: <b>111-222-3333</b>'}</pre></td>
- </tr>
- <tr>
- <td>IGNORABLE_404_URLS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>INSTALLED_APPS</td>
- <td class="code"><pre>('django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'django.contrib.sites',
- 'django.contrib.sitemaps',
- 'django.contrib.gis',
- 'django.forms',
- 'viewflow.frontend',
- 'viewflow',
- 'mptt',
- 'material.theme.amber',
- 'material',
- 'material.frontend',
- 'material.admin',
- 'admin_view_permission',
- 'django.contrib.admin',
- 'corsheaders',
- 'django_twilio',
- 'push_notifications',
- 'rest_framework',
- 'rest_framework.authtoken',
- 'rest_auth',
- 'rest_auth.registration',
- 'sorl.thumbnail',
- 'datetimewidget',
- 'adminsortable2',
- 'channels',
- 'channels_api',
- 'expander',
- 'multiselectfield',
- 'django_filters',
- 'sekizai',
- 'meta',
- 'star_ratings',
- 'core',
- 'files',
- 'authentication',
- 'users',
- 'pages',
- 'exchange_rates',
- 'categories',
- 'advertise',
- 'articles',
- 'forum',
- 'chat',
- 'weather',
- 'blacklists',
- 'dating',
- 'maps',
- 'gunicorn',
- 'rest_framework_swagger')</pre></td>
- </tr>
- <tr>
- <td>INTERNAL_IPS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>LANGUAGES</td>
- <td class="code"><pre>[('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')]</pre></td>
- </tr>
- <tr>
- <td>LANGUAGES_BIDI</td>
- <td class="code"><pre>['he', 'ar', 'fa', 'ur']</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_CODE</td>
- <td class="code"><pre>'ru'</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_AGE</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_NAME</td>
- <td class="code"><pre>'django_language'</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>LOCALE_PATHS</td>
- <td class="code"><pre>['/app/locale']</pre></td>
- </tr>
- <tr>
- <td>LOGGING</td>
- <td class="code"><pre>{'disable_existing_loggers': False,
- 'filters': {'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue'}},
- 'formatters': {'django.server': {'()': 'django.utils.log.ServerFormatter',
- 'format': '[%(server_time)s] %(message)s'},
- 'simple': {'format': '%(levelname)s %(message)s'},
- 'verbose': {'format': '%(levelname)s %(asctime)s %(module)s '
- '%(process)d %(thread)d %(message)s'}},
- 'handlers': {'console': {'class': 'logging.StreamHandler',
- 'filters': ['require_debug_true'],
- 'formatter': 'simple',
- 'level': 'INFO'},
- 'django.server': {'class': 'logging.StreamHandler',
- 'formatter': 'django.server',
- 'level': 'INFO'},
- 'file': {'backupCount': 3,
- 'class': 'logging.handlers.RotatingFileHandler',
- 'filename': '/app/logs/django.log',
- 'formatter': 'verbose',
- 'maxBytes': 1024000},
- 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler',
- 'level': 'ERROR'}},
- 'loggers': {'django': {'handlers': ['console', 'file'], 'propagate': True},
- 'django.request': {'handlers': ['mail_admins'],
- 'level': 'ERROR',
- 'propagate': False},
- 'django.server': {'handlers': ['django.server'],
- 'level': 'INFO',
- 'propagate': False}},
- 'version': 1}</pre></td>
- </tr>
- <tr>
- <td>LOGGING_CONFIG</td>
- <td class="code"><pre>'logging.config.dictConfig'</pre></td>
- </tr>
- <tr>
- <td>LOGIN_REDIRECT_URL</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>LOGIN_URL</td>
- <td class="code"><pre>'/accounts/login/'</pre></td>
- </tr>
- <tr>
- <td>LOGOUT_REDIRECT_URL</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>MANAGERS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>MAX_STARS_RATING_SCORE</td>
- <td class="code"><pre>5</pre></td>
- </tr>
- <tr>
- <td>MEDIA_ROOT</td>
- <td class="code"><pre>'/app/media'</pre></td>
- </tr>
- <tr>
- <td>MEDIA_URL</td>
- <td class="code"><pre>'/media/'</pre></td>
- </tr>
- <tr>
- <td>MENU</td>
- <td class="code"><pre>[{'categories': {'name': 'Категории'}},
- {'articles': {'name': 'Статьи'}},
- {'weather': {'name': 'Погода'}},
- {'users': {'name': 'Пользователи'}},
- {'blacklists': {'name': 'Черные списки'}},
- {'advertise': {'name': 'Реклама'}},
- {'exchange_rates': {'name': 'Курс валют'}},
- {'files': {'name': 'Файлы'}},
- {'forum': {'name': 'Форум'}},
- {'star_ratings': {'name': 'Рейтинг'}},
- {'dating': {'name': 'Знакомства'}},
- {'maps': {'name': 'Карта'}}]</pre></td>
- </tr>
- <tr>
- <td>MESSAGE_STORAGE</td>
- <td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
- </tr>
- <tr>
- <td>MIDDLEWARE</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>MIDDLEWARE_CLASSES</td>
- <td class="code"><pre>('django.contrib.sessions.middleware.SessionMiddleware',
- 'corsheaders.middleware.CorsMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware',
- 'django.middleware.security.SecurityMiddleware',
- 'django.middleware.locale.LocaleMiddleware',
- 'core.middleware.ActiveUserMiddleware',
- 'material.frontend.middleware.SmoothNavigationMiddleware')</pre></td>
- </tr>
- <tr>
- <td>MIGRATION_MODULES</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>MONTH_DAY_FORMAT</td>
- <td class="code"><pre>'F j'</pre></td>
- </tr>
- <tr>
- <td>NUMBER_GROUPING</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>PASSWORD_HASHERS</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>PREPEND_WWW</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>PROTOCOL_FOR_ABSOLUTE_URL</td>
- <td class="code"><pre>'http'</pre></td>
- </tr>
- <tr>
- <td>PUSH_NOTIFICATIONS_SETTINGS</td>
- <td class="code"><pre>{'APNS_CERTIFICATE': '/app/media_private/push_apns_certs/apns.sandbox.pem',
- 'APNS_HOST': 'gateway.sandbox.push.apple.com',
- 'APNS_TOPIC': '',
- 'APNS_USE_ALTERNATIVE_PORT': False,
- 'APNS_USE_SANDBOX': True,
- 'CONFIG': 'push_notifications.conf.LegacyConfig',
- 'FCM_ERROR_TIMEOUT': None,
- 'FCM_MAX_RECIPIENTS': 1000,
- 'FCM_POST_URL': 'https://fcm.googleapis.com/fcm/send',
- 'GCM_ERROR_TIMEOUT': None,
- 'GCM_MAX_RECIPIENTS': 1000,
- 'GCM_POST_URL': 'https://android.googleapis.com/gcm/send',
- 'UPDATE_ON_DUPLICATE_REG_ID': False,
- 'USER_MODEL': 'users.User',
- 'WNS_ACCESS_URL': 'https://login.live.com/accesstoken.srf',
- 'WNS_PACKAGE_SECURITY_ID': None,
- 'WNS_SECRET_KEY': '********************'}</pre></td>
- </tr>
- <tr>
- <td>REST_FRAMEWORK</td>
- <td class="code"><pre>{'DATETIME_FORMAT': '%Y-%m-%dT%I:%M:%S%z',
- 'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication',
- 'rest_framework.authentication.TokenAuthentication'),
- 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',),
- 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
- 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.AllowAny'],
- 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer',
- 'rest_framework.renderers.BrowsableAPIRenderer'),
- 'EXCEPTION_HANDLER': 'core.custom_exception.custom_exception_handler',
- 'NON_FIELD_ERRORS_KEY': '********************',
- 'PAGE_SIZE': 100}</pre></td>
- </tr>
- <tr>
- <td>ROOT_URLCONF</td>
- <td class="code"><pre>'urls'</pre></td>
- </tr>
- <tr>
- <td>SECRET_KEY</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>SECURE_BROWSER_XSS_FILTER</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SECURE_HSTS_PRELOAD</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SECURE_HSTS_SECONDS</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>SECURE_PROXY_SSL_HEADER</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SECURE_REDIRECT_EXEMPT</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>SECURE_SSL_HOST</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SECURE_SSL_REDIRECT</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SERVER_EMAIL</td>
- <td class="code"><pre>'root@localhost'</pre></td>
- </tr>
- <tr>
- <td>SERVER_TYPE</td>
- <td class="code"><pre>'dev'</pre></td>
- </tr>
- <tr>
- <td>SESSION_CACHE_ALIAS</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_AGE</td>
- <td class="code"><pre>1209600</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
- <td class="code"><pre>'sessionid'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_SECURE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SESSION_ENGINE</td>
- <td class="code"><pre>'django.contrib.sessions.backends.db'</pre></td>
- </tr>
- <tr>
- <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SESSION_FILE_PATH</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SESSION_SAVE_EVERY_REQUEST</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SESSION_SERIALIZER</td>
- <td class="code"><pre>'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
- </tr>
- <tr>
- <td>SETTINGS_MODULE</td>
- <td class="code"><pre>'config'</pre></td>
- </tr>
- <tr>
- <td>SHORT_DATETIME_FORMAT</td>
- <td class="code"><pre>'m/d/Y P'</pre></td>
- </tr>
- <tr>
- <td>SHORT_DATE_FORMAT</td>
- <td class="code"><pre>'m/d/Y'</pre></td>
- </tr>
- <tr>
- <td>SIGNING_BACKEND</td>
- <td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td>
- </tr>
- <tr>
- <td>SILENCED_SYSTEM_CHECKS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>SITE_DOMAIN</td>
- <td class="code"><pre>'phuket.dvhs.pro'</pre></td>
- </tr>
- <tr>
- <td>SITE_ID</td>
- <td class="code"><pre>1</pre></td>
- </tr>
- <tr>
- <td>SITE_PROTOCOL</td>
- <td class="code"><pre>'http'</pre></td>
- </tr>
- <tr>
- <td>SITE_URL</td>
- <td class="code"><pre>'http://phuket.dvhs.pro'</pre></td>
- </tr>
- <tr>
- <td>STAR_RATINGS_RERATE</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_DIRS</td>
- <td class="code"><pre>['/app/media/sitemaps/']</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>STATICFILES_STORAGE</td>
- <td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
- </tr>
- <tr>
- <td>STATICSITEMAPS_ROOT_DIR</td>
- <td class="code"><pre>'/app/media/sitemaps/'</pre></td>
- </tr>
- <tr>
- <td>STATICSITEMAPS_ROOT_SITEMAP</td>
- <td class="code"><pre>'core.sitemaps.sitemaps'</pre></td>
- </tr>
- <tr>
- <td>STATICSITEMAPS_URL</td>
- <td class="code"><pre>'http://phuket.dvhs.pro/media/sitemaps/'</pre></td>
- </tr>
- <tr>
- <td>STATIC_ROOT</td>
- <td class="code"><pre>'/app/static'</pre></td>
- </tr>
- <tr>
- <td>STATIC_URL</td>
- <td class="code"><pre>'/static/'</pre></td>
- </tr>
- <tr>
- <td>TEMPLATES</td>
- <td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': ['/app/templates'],
- 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
- 'django.template.context_processors.debug',
- 'django.template.context_processors.request',
- 'django.template.context_processors.i18n',
- 'django.template.context_processors.media',
- 'django.template.context_processors.static',
- 'django.template.context_processors.tz',
- 'django.contrib.messages.context_processors.messages',
- 'sekizai.context_processors.sekizai',
- 'core.context_processors.set_constances',
- 'material.frontend.context_processors.modules'],
- 'debug': True,
- 'loaders': [('django.template.loaders.cached.Loader',
- ['django.template.loaders.filesystem.Loader',
- 'django.template.loaders.app_directories.Loader'])]}}]</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_DEBUG</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_LOADERS</td>
- <td class="code"><pre>(('django.template.loaders.cached.Loader',
- ('django.template.loaders.filesystem.Loader',
- 'django.template.loaders.app_directories.Loader')),)</pre></td>
- </tr>
- <tr>
- <td>TEST_NON_SERIALIZED_APPS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>TEST_RUNNER</td>
- <td class="code"><pre>'django.test.runner.DiscoverRunner'</pre></td>
- </tr>
- <tr>
- <td>THOUSAND_SEPARATOR</td>
- <td class="code"><pre>','</pre></td>
- </tr>
- <tr>
- <td>THUMBNAIL_DEBUG</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>THUMBNAIL_DUMMY</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>THUMBNAIL_DUMMY_SOURCE</td>
- <td class="code"><pre>'/media/img/no_image.jpg'</pre></td>
- </tr>
- <tr>
- <td>THUMBNAIL_FORMAT</td>
- <td class="code"><pre>'PNG'</pre></td>
- </tr>
- <tr>
- <td>THUMBNAIL_URL_TIMEOUT</td>
- <td class="code"><pre>2</pre></td>
- </tr>
- <tr>
- <td>TIME_FORMAT</td>
- <td class="code"><pre>'P'</pre></td>
- </tr>
- <tr>
- <td>TIME_INPUT_FORMATS</td>
- <td class="code"><pre>('%I:%M %p',)</pre></td>
- </tr>
- <tr>
- <td>TIME_ZONE</td>
- <td class="code"><pre>'Asia/Magadan'</pre></td>
- </tr>
- <tr>
- <td>TWILIO_ACCOUNT_SID</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>TWILIO_AUTH_TOKEN</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>TWILIO_PHONE_NUMBER</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>USER_LASTSEEN_TIMEOUT</td>
- <td class="code"><pre>604800</pre></td>
- </tr>
- <tr>
- <td>USER_ONLINE_TIMEOUT</td>
- <td class="code"><pre>300</pre></td>
- </tr>
- <tr>
- <td>USE_ETAGS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_I18N</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>USE_L10N</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_THOUSAND_SEPARATOR</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_TZ</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>USE_X_FORWARDED_HOST</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_X_FORWARDED_PORT</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>WEEK_DAYS</td>
- <td class="code"><pre>(('1', 'Sunday'),
- ('2', 'Monday'),
- ('3', 'Tuesday'),
- ('4', 'Wednesday'),
- ('5', 'Thursday'),
- ('6', 'Friday'),
- ('7', 'Saturday'))</pre></td>
- </tr>
- <tr>
- <td>WSGI_APPLICATION</td>
- <td class="code"><pre>'wsgi.application'</pre></td>
- </tr>
- <tr>
- <td>X_FRAME_OPTIONS</td>
- <td class="code"><pre>'SAMEORIGIN'</pre></td>
- </tr>
- <tr>
- <td>YEAR_MONTH_FORMAT</td>
- <td class="code"><pre>'F Y'</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 page generated by the handler for this status code.
- </p>
- </div>
- </body>
- </html>
- Request failed with error: JSON could not be serialized because of error:
- The data couldn’t be read because it isn’t in the correct format.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement