Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2017
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 164.53 KB | None | 0 0
  1. image = <UIImage: 0x6040004b9980> size {3000, 2002} orientation 0 scale 1.000000
  2. UPLOAD
  3. result = success(request: $ curl -v \
  4. -X POST \
  5. -H "Content-Type: multipart/form-data; boundary=alamofire.boundary.6046031b86323bd0" \
  6. -H "Accept-Language: en;q=1.0, ru-RU;q=0.9" \
  7. -H "Authorization: Token 2f3df87a3f101959fe4ce7ccbf4f088e5528914e" \
  8. -H "User-Agent: PhuketON/1.0 (com.NGSE.PhuketON; build:1; iOS 11.2.0) Alamofire/4.6.0" \
  9. -H "Accept-Encoding: gzip;q=1.0, compress;q=0.5" \
  10. "http://phuketon.dvhs.pro/api/v1/files/", streamingFromDisk: false, streamFileURL: nil)
  11. progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.1308 / Completed: 32768 of 250581
  12. progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.5231 / Completed: 131072 of 250581
  13. progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.5231 / Completed: 131072 of 250581
  14. progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.5231 / Completed: 131072 of 250581
  15. progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.6538 / Completed: 163840 of 250581
  16. progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.9154 / Completed: 229376 of 250581
  17. progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 0.9154 / Completed: 229376 of 250581
  18. progress = <NSProgress: 0x60400013f2c0> : Parent: 0x0 / Fraction completed: 1.0000 / Completed: 250581 of 250581
  19. string result = SUCCESS:
  20. <!DOCTYPE html>
  21. <html lang="en">
  22. <head>
  23. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  24. <meta name="robots" content="NONE,NOARCHIVE">
  25. <title>AttributeError at /api/v1/files/</title>
  26. <style type="text/css">
  27. html * { padding:0; margin:0; }
  28. body * { padding:10px 20px; }
  29. body * * { padding:0; }
  30. body { font:small sans-serif; }
  31. body>div { border-bottom:1px solid #ddd; }
  32. h1 { font-weight:normal; }
  33. h2 { margin-bottom:.8em; }
  34. h2 span { font-size:80%; color:#666; font-weight:normal; }
  35. h3 { margin:1em 0 .5em 0; }
  36. h4 { margin:0 0 .5em 0; font-weight: normal; }
  37. code, pre { font-size: 100%; white-space: pre-wrap; }
  38. table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
  39. tbody td, tbody th { vertical-align:top; padding:2px 3px; }
  40. thead th {
  41. padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
  42. font-weight:normal; font-size:11px; border:1px solid #ddd;
  43. }
  44. tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
  45. table.vars { margin:5px 0 2px 40px; }
  46. table.vars td, table.req td { font-family:monospace; }
  47. table td.code { width:100%; }
  48. table td.code pre { overflow:hidden; }
  49. table.source th { color:#666; }
  50. table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
  51. ul.traceback { list-style-type:none; color: #222; }
  52. ul.traceback li.frame { padding-bottom:1em; color:#666; }
  53. ul.traceback li.user { background-color:#e0e0e0; color:#000 }
  54. div.context { padding:10px 0; overflow:hidden; }
  55. div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
  56. div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
  57. div.context ol li pre { display:inline; }
  58. div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
  59. div.context ol.context-line li span { position:absolute; right:32px; }
  60. .user div.context ol.context-line li { background-color:#bbb; color:#000; }
  61. .user div.context ol li { color:#666; }
  62. div.commands { margin-left: 40px; }
  63. div.commands a { color:#555; text-decoration:none; }
  64. .user div.commands a { color: black; }
  65. #summary { background: #ffc; }
  66. #summary h2 { font-weight: normal; color: #666; }
  67. #explanation { background:#eee; }
  68. #template, #template-not-exist { background:#f6f6f6; }
  69. #template-not-exist ul { margin: 0 0 10px 20px; }
  70. #template-not-exist .postmortem-section { margin-bottom: 3px; }
  71. #unicode-hint { background:#eee; }
  72. #traceback { background:#eee; }
  73. #requestinfo { background:#f6f6f6; padding-left:120px; }
  74. #summary table { border:none; background:transparent; }
  75. #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
  76. #requestinfo h3 { margin-bottom:-1em; }
  77. .error { background: #ffc; }
  78. .specific { color:#cc3300; font-weight:bold; }
  79. h2 span.commands { font-size:.7em;}
  80. span.commands a:link {color:#5E5694;}
  81. pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
  82. .append-bottom { margin-bottom: 10px; }
  83. </style>
  84.  
  85. <script type="text/javascript">
  86. //<!--
  87. function getElementsByClassName(oElm, strTagName, strClassName){
  88. // Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
  89. var arrElements = (strTagName == "*" && document.all)? document.all :
  90. oElm.getElementsByTagName(strTagName);
  91. var arrReturnElements = new Array();
  92. strClassName = strClassName.replace(/\-/g, "\\-");
  93. var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
  94. var oElement;
  95. for(var i=0; i<arrElements.length; i++){
  96. oElement = arrElements[i];
  97. if(oRegExp.test(oElement.className)){
  98. arrReturnElements.push(oElement);
  99. }
  100. }
  101. return (arrReturnElements)
  102. }
  103. function hideAll(elems) {
  104. for (var e = 0; e < elems.length; e++) {
  105. elems[e].style.display = 'none';
  106. }
  107. }
  108. window.onload = function() {
  109. hideAll(getElementsByClassName(document, 'table', 'vars'));
  110. hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
  111. hideAll(getElementsByClassName(document, 'ol', 'post-context'));
  112. hideAll(getElementsByClassName(document, 'div', 'pastebin'));
  113. }
  114. function toggle() {
  115. for (var i = 0; i < arguments.length; i++) {
  116. var e = document.getElementById(arguments[i]);
  117. if (e) {
  118. e.style.display = e.style.display == 'none' ? 'block': 'none';
  119. }
  120. }
  121. return false;
  122. }
  123. function varToggle(link, id) {
  124. toggle('v' + id);
  125. var s = link.getElementsByTagName('span')[0];
  126. var uarr = String.fromCharCode(0x25b6);
  127. var darr = String.fromCharCode(0x25bc);
  128. s.textContent = s.textContent == uarr ? darr : uarr;
  129. return false;
  130. }
  131. function switchPastebinFriendly(link) {
  132. s1 = "Switch to copy-and-paste view";
  133. s2 = "Switch back to interactive view";
  134. link.textContent = link.textContent.trim() == s1 ? s2: s1;
  135. toggle('browserTraceback', 'pastebinTraceback');
  136. return false;
  137. }
  138. //-->
  139. </script>
  140.  
  141. </head>
  142. <body>
  143. <div id="summary">
  144. <h1>AttributeError at /api/v1/files/</h1>
  145. <pre class="exception_value">&#39;dict&#39; object has no attribute &#39;exception&#39;</pre>
  146. <table class="meta">
  147.  
  148. <tr>
  149. <th>Request Method:</th>
  150. <td>POST</td>
  151. </tr>
  152. <tr>
  153. <th>Request URL:</th>
  154. <td>http://phuketon.dvhs.pro/api/v1/files/</td>
  155. </tr>
  156.  
  157. <tr>
  158. <th>Django Version:</th>
  159. <td>1.11</td>
  160. </tr>
  161.  
  162. <tr>
  163. <th>Exception Type:</th>
  164. <td>AttributeError</td>
  165. </tr>
  166.  
  167.  
  168. <tr>
  169. <th>Exception Value:</th>
  170. <td><pre>&#39;dict&#39; object has no attribute &#39;exception&#39;</pre></td>
  171. </tr>
  172.  
  173.  
  174. <tr>
  175. <th>Exception Location:</th>
  176. <td>/usr/local/lib/python3.5/site-packages/rest_framework/views.py in handle_exception, line 451</td>
  177. </tr>
  178.  
  179. <tr>
  180. <th>Python Executable:</th>
  181. <td>/usr/local/bin/python</td>
  182. </tr>
  183. <tr>
  184. <th>Python Version:</th>
  185. <td>3.5.4</td>
  186. </tr>
  187. <tr>
  188. <th>Python Path:</th>
  189. <td><pre>[&#39;/app&#39;,
  190. &#39;/usr/local/bin&#39;,
  191. &#39;/usr/local/lib/python35.zip&#39;,
  192. &#39;/usr/local/lib/python3.5&#39;,
  193. &#39;/usr/local/lib/python3.5/plat-linux&#39;,
  194. &#39;/usr/local/lib/python3.5/lib-dynload&#39;,
  195. &#39;/usr/local/lib/python3.5/site-packages&#39;,
  196. &#39;/app&#39;]</pre></td>
  197. </tr>
  198. <tr>
  199. <th>Server time:</th>
  200. <td>Sat, 23 Dec 2017 04:12:07 +1100</td>
  201. </tr>
  202. </table>
  203. </div>
  204.  
  205.  
  206.  
  207.  
  208. <div id="traceback">
  209. <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
  210. Switch to copy-and-paste view</a></span>
  211. </h2>
  212.  
  213. <div id="browserTraceback">
  214. <ul class="traceback">
  215.  
  216.  
  217. <li class="frame user">
  218. <code>/usr/local/lib/python3.5/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
  219.  
  220.  
  221. <div class="context" id="c140510397147016">
  222.  
  223. <ol start="479" class="pre-context" id="pre140510397147016">
  224.  
  225. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> # Get the appropriate handler method</pre></li>
  226.  
  227. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> if request.method.lower() in self.http_method_names:</pre></li>
  228.  
  229. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> handler = getattr(self, request.method.lower(),</pre></li>
  230.  
  231. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> self.http_method_not_allowed)</pre></li>
  232.  
  233. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> else:</pre></li>
  234.  
  235. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> handler = self.http_method_not_allowed</pre></li>
  236.  
  237. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre></pre></li>
  238.  
  239. </ol>
  240.  
  241. <ol start="486" class="context-line">
  242. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre>
  243. response = handler(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  244.  
  245. <ol start='487' class="post-context" id="post140510397147016">
  246.  
  247. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre></pre></li>
  248.  
  249. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> except Exception as exc:</pre></li>
  250.  
  251. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> response = self.handle_exception(exc)</pre></li>
  252.  
  253. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre></pre></li>
  254.  
  255. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
  256.  
  257. <li onclick="toggle('pre140510397147016', 'post140510397147016')"><pre> return self.response</pre></li>
  258.  
  259. </ol>
  260.  
  261. </div>
  262.  
  263.  
  264.  
  265. <div class="commands">
  266.  
  267. <a href="#" onclick="return varToggle(this, '140510397147016')"><span>&#x25b6;</span> Local vars</a>
  268.  
  269. </div>
  270. <table class="vars" id="v140510397147016">
  271. <thead>
  272. <tr>
  273. <th>Variable</th>
  274. <th>Value</th>
  275. </tr>
  276. </thead>
  277. <tbody>
  278.  
  279. <tr>
  280. <td>args</td>
  281. <td class="code"><pre>()</pre></td>
  282. </tr>
  283.  
  284. <tr>
  285. <td>handler</td>
  286. <td class="code"><pre>&lt;bound method CreateModelMixin.create of &lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;&gt;</pre></td>
  287. </tr>
  288.  
  289. <tr>
  290. <td>kwargs</td>
  291. <td class="code"><pre>{}</pre></td>
  292. </tr>
  293.  
  294. <tr>
  295. <td>request</td>
  296. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fcb2058bf98&gt;</pre></td>
  297. </tr>
  298.  
  299. <tr>
  300. <td>self</td>
  301. <td class="code"><pre>&lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;</pre></td>
  302. </tr>
  303.  
  304. </tbody>
  305. </table>
  306.  
  307. </li>
  308.  
  309.  
  310. <li class="frame user">
  311. <code>/usr/local/lib/python3.5/site-packages/rest_framework/mixins.py</code> in <code>create</code>
  312.  
  313.  
  314. <div class="context" id="c140510397149128">
  315.  
  316. <ol start="14" class="pre-context" id="pre140510397149128">
  317.  
  318. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre>class CreateModelMixin(object):</pre></li>
  319.  
  320. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> &quot;&quot;&quot;</pre></li>
  321.  
  322. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> Create a model instance.</pre></li>
  323.  
  324. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> &quot;&quot;&quot;</pre></li>
  325.  
  326. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> def create(self, request, *args, **kwargs):</pre></li>
  327.  
  328. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> serializer = self.get_serializer(data=request.data)</pre></li>
  329.  
  330. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> serializer.is_valid(raise_exception=True)</pre></li>
  331.  
  332. </ol>
  333.  
  334. <ol start="21" class="context-line">
  335. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre>
  336. self.perform_create(serializer)</pre> <span>...</span></li></ol>
  337.  
  338. <ol start='22' class="post-context" id="post140510397149128">
  339.  
  340. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> headers = self.get_success_headers(serializer.data)</pre></li>
  341.  
  342. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)</pre></li>
  343.  
  344. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre></pre></li>
  345.  
  346. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> def perform_create(self, serializer):</pre></li>
  347.  
  348. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre> serializer.save()</pre></li>
  349.  
  350. <li onclick="toggle('pre140510397149128', 'post140510397149128')"><pre></pre></li>
  351.  
  352. </ol>
  353.  
  354. </div>
  355.  
  356.  
  357.  
  358. <div class="commands">
  359.  
  360. <a href="#" onclick="return varToggle(this, '140510397149128')"><span>&#x25b6;</span> Local vars</a>
  361.  
  362. </div>
  363. <table class="vars" id="v140510397149128">
  364. <thead>
  365. <tr>
  366. <th>Variable</th>
  367. <th>Value</th>
  368. </tr>
  369. </thead>
  370. <tbody>
  371.  
  372. <tr>
  373. <td>args</td>
  374. <td class="code"><pre>()</pre></td>
  375. </tr>
  376.  
  377. <tr>
  378. <td>kwargs</td>
  379. <td class="code"><pre>{}</pre></td>
  380. </tr>
  381.  
  382. <tr>
  383. <td>request</td>
  384. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fcb2058bf98&gt;</pre></td>
  385. </tr>
  386.  
  387. <tr>
  388. <td>self</td>
  389. <td class="code"><pre>&lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;</pre></td>
  390. </tr>
  391.  
  392. <tr>
  393. <td>serializer</td>
  394. <td class="code"><pre>FileSerializer(context={&#39;view&#39;: &lt;files.views.ProjectFileView object&gt;, &#39;request&#39;: &lt;rest_framework.request.Request object&gt;, &#39;format&#39;: None}, data=&lt;QueryDict: {&#39;content_type&#39;: [&#39;forum.forumpost&#39;], &#39;file&#39;: [&lt;InMemoryUploadedFile: testTemp.jpeg (image/jpeg)&gt;]}&gt;):
  395. id = IntegerField(label=&#39;ID&#39;, read_only=True)
  396. file = FileField(label=&#39;Файлы&#39;, max_length=100)
  397. url = ReadOnlyField()
  398. owner = PrimaryKeyRelatedField(default=CurrentUserDefault(), read_only=True)
  399. is_liked = SerializerMethodField()
  400. created_date = DateTimeField(read_only=True)
  401. views = IntegerField(label=&#39;Просмотры&#39;, read_only=True)
  402. likes = IntegerField(label=&#39;Лайки&#39;, read_only=True)
  403. content_type = ChoiceField(choices=[&#39;admin.logentry&#39;, &#39;advertise.advertise&#39;, &#39;advertise.advertisetype&#39;, &#39;articles.article&#39;, &#39;articles.workinghour&#39;, &#39;articles.articletracking&#39;, &#39;articles.websites&#39;, &#39;auth.group&#39;, &#39;auth.permission&#39;, &#39;authtoken.token&#39;, &#39;blacklists.blacklist&#39;, &#39;categories.category&#39;, &#39;chat.dialog&#39;, &#39;chat.message&#39;, &#39;contenttypes.contenttype&#39;, &#39;dating.member&#39;, &#39;dating.photolike&#39;, &#39;django_twilio.credential&#39;, &#39;django_twilio.caller&#39;, &#39;exchange_rates.exchangerate&#39;, &#39;files.projectfile&#39;, &#39;forum.forumpost&#39;, &#39;forum.forumtracking&#39;, &#39;forum.forumcategory&#39;, &#39;forum.privatemessage&#39;, &#39;forum.forumtopic&#39;, &#39;frontend.module&#39;, &#39;pages.page&#39;, &#39;push_notifications.apnsdevice&#39;, &#39;push_notifications.wnsdevice&#39;, &#39;push_notifications.gcmdevice&#39;, &#39;sessions.session&#39;, &#39;sites.site&#39;, &#39;star_ratings.rating&#39;, &#39;star_ratings.userrating&#39;, &#39;thumbnail.kvstore&#39;, &#39;users.admin&#39;, &#39;users.user&#39;, &#39;users.profile&#39;, &#39;viewflow.process&#39;, &#39;viewflow.task&#39;, &#39;votes.vote&#39;, &#39;votes.voterating&#39;, &#39;weather.weatherbyday&#39;, &#39;weather.weathercurrent&#39;], write_only=True)
  404. content_type_ = SerializerMethodField(read_only=True)</pre></td>
  405. </tr>
  406.  
  407. </tbody>
  408. </table>
  409.  
  410. </li>
  411.  
  412.  
  413. <li class="frame user">
  414. <code>/usr/local/lib/python3.5/site-packages/rest_framework/mixins.py</code> in <code>perform_create</code>
  415.  
  416.  
  417. <div class="context" id="c140510397146120">
  418.  
  419. <ol start="19" class="pre-context" id="pre140510397146120">
  420.  
  421. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> serializer = self.get_serializer(data=request.data)</pre></li>
  422.  
  423. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> serializer.is_valid(raise_exception=True)</pre></li>
  424.  
  425. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> self.perform_create(serializer)</pre></li>
  426.  
  427. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> headers = self.get_success_headers(serializer.data)</pre></li>
  428.  
  429. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)</pre></li>
  430.  
  431. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre></pre></li>
  432.  
  433. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> def perform_create(self, serializer):</pre></li>
  434.  
  435. </ol>
  436.  
  437. <ol start="26" class="context-line">
  438. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre>
  439. serializer.save()</pre> <span>...</span></li></ol>
  440.  
  441. <ol start='27' class="post-context" id="post140510397146120">
  442.  
  443. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre></pre></li>
  444.  
  445. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> def get_success_headers(self, data):</pre></li>
  446.  
  447. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> try:</pre></li>
  448.  
  449. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> return {&#39;Location&#39;: data[api_settings.URL_FIELD_NAME]}</pre></li>
  450.  
  451. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> except (TypeError, KeyError):</pre></li>
  452.  
  453. <li onclick="toggle('pre140510397146120', 'post140510397146120')"><pre> return {}</pre></li>
  454.  
  455. </ol>
  456.  
  457. </div>
  458.  
  459.  
  460.  
  461. <div class="commands">
  462.  
  463. <a href="#" onclick="return varToggle(this, '140510397146120')"><span>&#x25b6;</span> Local vars</a>
  464.  
  465. </div>
  466. <table class="vars" id="v140510397146120">
  467. <thead>
  468. <tr>
  469. <th>Variable</th>
  470. <th>Value</th>
  471. </tr>
  472. </thead>
  473. <tbody>
  474.  
  475. <tr>
  476. <td>self</td>
  477. <td class="code"><pre>&lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;</pre></td>
  478. </tr>
  479.  
  480. <tr>
  481. <td>serializer</td>
  482. <td class="code"><pre>FileSerializer(context={&#39;view&#39;: &lt;files.views.ProjectFileView object&gt;, &#39;request&#39;: &lt;rest_framework.request.Request object&gt;, &#39;format&#39;: None}, data=&lt;QueryDict: {&#39;content_type&#39;: [&#39;forum.forumpost&#39;], &#39;file&#39;: [&lt;InMemoryUploadedFile: testTemp.jpeg (image/jpeg)&gt;]}&gt;):
  483. id = IntegerField(label=&#39;ID&#39;, read_only=True)
  484. file = FileField(label=&#39;Файлы&#39;, max_length=100)
  485. url = ReadOnlyField()
  486. owner = PrimaryKeyRelatedField(default=CurrentUserDefault(), read_only=True)
  487. is_liked = SerializerMethodField()
  488. created_date = DateTimeField(read_only=True)
  489. views = IntegerField(label=&#39;Просмотры&#39;, read_only=True)
  490. likes = IntegerField(label=&#39;Лайки&#39;, read_only=True)
  491. content_type = ChoiceField(choices=[&#39;admin.logentry&#39;, &#39;advertise.advertise&#39;, &#39;advertise.advertisetype&#39;, &#39;articles.article&#39;, &#39;articles.workinghour&#39;, &#39;articles.articletracking&#39;, &#39;articles.websites&#39;, &#39;auth.group&#39;, &#39;auth.permission&#39;, &#39;authtoken.token&#39;, &#39;blacklists.blacklist&#39;, &#39;categories.category&#39;, &#39;chat.dialog&#39;, &#39;chat.message&#39;, &#39;contenttypes.contenttype&#39;, &#39;dating.member&#39;, &#39;dating.photolike&#39;, &#39;django_twilio.credential&#39;, &#39;django_twilio.caller&#39;, &#39;exchange_rates.exchangerate&#39;, &#39;files.projectfile&#39;, &#39;forum.forumpost&#39;, &#39;forum.forumtracking&#39;, &#39;forum.forumcategory&#39;, &#39;forum.privatemessage&#39;, &#39;forum.forumtopic&#39;, &#39;frontend.module&#39;, &#39;pages.page&#39;, &#39;push_notifications.apnsdevice&#39;, &#39;push_notifications.wnsdevice&#39;, &#39;push_notifications.gcmdevice&#39;, &#39;sessions.session&#39;, &#39;sites.site&#39;, &#39;star_ratings.rating&#39;, &#39;star_ratings.userrating&#39;, &#39;thumbnail.kvstore&#39;, &#39;users.admin&#39;, &#39;users.user&#39;, &#39;users.profile&#39;, &#39;viewflow.process&#39;, &#39;viewflow.task&#39;, &#39;votes.vote&#39;, &#39;votes.voterating&#39;, &#39;weather.weatherbyday&#39;, &#39;weather.weathercurrent&#39;], write_only=True)
  492. content_type_ = SerializerMethodField(read_only=True)</pre></td>
  493. </tr>
  494.  
  495. </tbody>
  496. </table>
  497.  
  498. </li>
  499.  
  500.  
  501. <li class="frame user">
  502. <code>/usr/local/lib/python3.5/site-packages/rest_framework/serializers.py</code> in <code>save</code>
  503.  
  504.  
  505. <div class="context" id="c140510397146184">
  506.  
  507. <ol start="207" class="pre-context" id="pre140510397146184">
  508.  
  509. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre></pre></li>
  510.  
  511. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> if self.instance is not None:</pre></li>
  512.  
  513. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> self.instance = self.update(self.instance, validated_data)</pre></li>
  514.  
  515. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> assert self.instance is not None, (</pre></li>
  516.  
  517. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> &#39;`update()` did not return an object instance.&#39;</pre></li>
  518.  
  519. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> )</pre></li>
  520.  
  521. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> else:</pre></li>
  522.  
  523. </ol>
  524.  
  525. <ol start="214" class="context-line">
  526. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre>
  527. self.instance = self.create(validated_data)</pre> <span>...</span></li></ol>
  528.  
  529. <ol start='215' class="post-context" id="post140510397146184">
  530.  
  531. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> assert self.instance is not None, (</pre></li>
  532.  
  533. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> &#39;`create()` did not return an object instance.&#39;</pre></li>
  534.  
  535. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> )</pre></li>
  536.  
  537. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre></pre></li>
  538.  
  539. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre> return self.instance</pre></li>
  540.  
  541. <li onclick="toggle('pre140510397146184', 'post140510397146184')"><pre></pre></li>
  542.  
  543. </ol>
  544.  
  545. </div>
  546.  
  547.  
  548.  
  549. <div class="commands">
  550.  
  551. <a href="#" onclick="return varToggle(this, '140510397146184')"><span>&#x25b6;</span> Local vars</a>
  552.  
  553. </div>
  554. <table class="vars" id="v140510397146184">
  555. <thead>
  556. <tr>
  557. <th>Variable</th>
  558. <th>Value</th>
  559. </tr>
  560. </thead>
  561. <tbody>
  562.  
  563. <tr>
  564. <td>kwargs</td>
  565. <td class="code"><pre>{}</pre></td>
  566. </tr>
  567.  
  568. <tr>
  569. <td>self</td>
  570. <td class="code"><pre>FileSerializer(context={&#39;view&#39;: &lt;files.views.ProjectFileView object&gt;, &#39;request&#39;: &lt;rest_framework.request.Request object&gt;, &#39;format&#39;: None}, data=&lt;QueryDict: {&#39;content_type&#39;: [&#39;forum.forumpost&#39;], &#39;file&#39;: [&lt;InMemoryUploadedFile: testTemp.jpeg (image/jpeg)&gt;]}&gt;):
  571. id = IntegerField(label=&#39;ID&#39;, read_only=True)
  572. file = FileField(label=&#39;Файлы&#39;, max_length=100)
  573. url = ReadOnlyField()
  574. owner = PrimaryKeyRelatedField(default=CurrentUserDefault(), read_only=True)
  575. is_liked = SerializerMethodField()
  576. created_date = DateTimeField(read_only=True)
  577. views = IntegerField(label=&#39;Просмотры&#39;, read_only=True)
  578. likes = IntegerField(label=&#39;Лайки&#39;, read_only=True)
  579. content_type = ChoiceField(choices=[&#39;admin.logentry&#39;, &#39;advertise.advertise&#39;, &#39;advertise.advertisetype&#39;, &#39;articles.article&#39;, &#39;articles.workinghour&#39;, &#39;articles.articletracking&#39;, &#39;articles.websites&#39;, &#39;auth.group&#39;, &#39;auth.permission&#39;, &#39;authtoken.token&#39;, &#39;blacklists.blacklist&#39;, &#39;categories.category&#39;, &#39;chat.dialog&#39;, &#39;chat.message&#39;, &#39;contenttypes.contenttype&#39;, &#39;dating.member&#39;, &#39;dating.photolike&#39;, &#39;django_twilio.credential&#39;, &#39;django_twilio.caller&#39;, &#39;exchange_rates.exchangerate&#39;, &#39;files.projectfile&#39;, &#39;forum.forumpost&#39;, &#39;forum.forumtracking&#39;, &#39;forum.forumcategory&#39;, &#39;forum.privatemessage&#39;, &#39;forum.forumtopic&#39;, &#39;frontend.module&#39;, &#39;pages.page&#39;, &#39;push_notifications.apnsdevice&#39;, &#39;push_notifications.wnsdevice&#39;, &#39;push_notifications.gcmdevice&#39;, &#39;sessions.session&#39;, &#39;sites.site&#39;, &#39;star_ratings.rating&#39;, &#39;star_ratings.userrating&#39;, &#39;thumbnail.kvstore&#39;, &#39;users.admin&#39;, &#39;users.user&#39;, &#39;users.profile&#39;, &#39;viewflow.process&#39;, &#39;viewflow.task&#39;, &#39;votes.vote&#39;, &#39;votes.voterating&#39;, &#39;weather.weatherbyday&#39;, &#39;weather.weathercurrent&#39;], write_only=True)
  580. content_type_ = SerializerMethodField(read_only=True)</pre></td>
  581. </tr>
  582.  
  583. <tr>
  584. <td>validated_data</td>
  585. <td class="code"><pre>{&#39;content_type&#39;: &lt;ContentType: Сообщение&gt;,
  586. &#39;file&#39;: &lt;InMemoryUploadedFile: testTemp.jpeg (image/jpeg)&gt;,
  587. &#39;owner&#39;: &lt;User: TTT&gt;}</pre></td>
  588. </tr>
  589.  
  590. </tbody>
  591. </table>
  592.  
  593. </li>
  594.  
  595.  
  596. <li class="frame user">
  597. <code>/usr/local/lib/python3.5/site-packages/rest_framework/serializers.py</code> in <code>create</code>
  598.  
  599.  
  600. <div class="context" id="c140510397145928">
  601.  
  602. <ol start="906" class="pre-context" id="pre140510397145928">
  603.  
  604. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> info = model_meta.get_field_info(ModelClass)</pre></li>
  605.  
  606. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> many_to_many = {}</pre></li>
  607.  
  608. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> for field_name, relation_info in info.relations.items():</pre></li>
  609.  
  610. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> if relation_info.to_many and (field_name in validated_data):</pre></li>
  611.  
  612. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> many_to_many[field_name] = validated_data.pop(field_name)</pre></li>
  613.  
  614. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre></pre></li>
  615.  
  616. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> try:</pre></li>
  617.  
  618. </ol>
  619.  
  620. <ol start="913" class="context-line">
  621. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre>
  622. instance = ModelClass.objects.create(**validated_data)</pre> <span>...</span></li></ol>
  623.  
  624. <ol start='914' class="post-context" id="post140510397145928">
  625.  
  626. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> except TypeError:</pre></li>
  627.  
  628. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> tb = traceback.format_exc()</pre></li>
  629.  
  630. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> msg = (</pre></li>
  631.  
  632. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> &#39;Got a `TypeError` when calling `%s.objects.create()`. &#39;</pre></li>
  633.  
  634. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> &#39;This may be because you have a writable field on the &#39;</pre></li>
  635.  
  636. <li onclick="toggle('pre140510397145928', 'post140510397145928')"><pre> &#39;serializer class that is not a valid argument to &#39;</pre></li>
  637.  
  638. </ol>
  639.  
  640. </div>
  641.  
  642.  
  643.  
  644. <div class="commands">
  645.  
  646. <a href="#" onclick="return varToggle(this, '140510397145928')"><span>&#x25b6;</span> Local vars</a>
  647.  
  648. </div>
  649. <table class="vars" id="v140510397145928">
  650. <thead>
  651. <tr>
  652. <th>Variable</th>
  653. <th>Value</th>
  654. </tr>
  655. </thead>
  656. <tbody>
  657.  
  658. <tr>
  659. <td>ModelClass</td>
  660. <td class="code"><pre>&lt;class &#39;files.models.ProjectFile&#39;&gt;</pre></td>
  661. </tr>
  662.  
  663. <tr>
  664. <td>field_name</td>
  665. <td class="code"><pre>&#39;member_set&#39;</pre></td>
  666. </tr>
  667.  
  668. <tr>
  669. <td>info</td>
  670. <td class="code"><pre>FieldResult(pk=&lt;django.db.models.fields.AutoField: id&gt;, fields=OrderedDict([(&#39;file&#39;, &lt;django.db.models.fields.files.FileField: file&gt;), (&#39;created_date&#39;, &lt;django.db.models.fields.DateTimeField: created_date&gt;), (&#39;views&#39;, &lt;django.db.models.fields.PositiveIntegerField: views&gt;), (&#39;likes&#39;, &lt;django.db.models.fields.PositiveIntegerField: likes&gt;)]), forward_relations=OrderedDict([(&#39;owner&#39;, RelationInfo(model_field=&lt;django.db.models.fields.related.ForeignKey: owner&gt;, related_model=&lt;class &#39;users.models.User&#39;&gt;, to_many=False, to_field=None, has_through_model=False, reverse=False)), (&#39;content_type&#39;, RelationInfo(model_field=&lt;django.db.models.fields.related.ForeignKey: content_type&gt;, related_model=&lt;class &#39;django.contrib.contenttypes.models.ContentType&#39;&gt;, to_many=False, to_field=&#39;id&#39;, has_through_model=False, reverse=False))]), reverse_relations=OrderedDict([(&#39;user_avatar&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;users.models.User&#39;&gt;, to_many=False, to_field=None, has_through_model=False, reverse=True)), (&#39;category_set&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;categories.models.Category&#39;&gt;, to_many=True, to_field=None, has_through_model=False, reverse=True)), (&#39;article_preview&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;articles.models.Article&#39;&gt;, to_many=True, to_field=None, has_through_model=False, reverse=True)), (&#39;forumtopic_set&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;forum.models.ForumTopic&#39;&gt;, to_many=True, to_field=None, has_through_model=False, reverse=True)), (&#39;forumpost&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;forum.models.ForumPost&#39;&gt;, to_many=False, to_field=None, has_through_model=False, reverse=True)), (&#39;message_file&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;chat.models.Message&#39;&gt;, to_many=False, to_field=None, has_through_model=False, reverse=True)), (&#39;weather_fusion_file&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;weather.models.WeatherCurrent&#39;&gt;, to_many=False, to_field=None, has_through_model=False, reverse=True)), (&#39;weather_day_fusion_file&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;weather.models.WeatherByDay&#39;&gt;, to_many=False, to_field=None, has_through_model=False, reverse=True)), (&#39;photolike_set&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;dating.models.PhotoLike&#39;&gt;, to_many=True, to_field=None, has_through_model=False, reverse=True)), (&#39;advertise_set&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;advertise.models.Advertise&#39;&gt;, to_many=True, to_field=None, has_through_model=False, reverse=True)), (&#39;article_set&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;articles.models.Article&#39;&gt;, to_many=True, to_field=None, has_through_model=False, reverse=True)), (&#39;member_set&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;dating.models.Member&#39;&gt;, to_many=True, to_field=None, has_through_model=False, reverse=True))]), fields_and_pk=OrderedDict([(&#39;pk&#39;, &lt;django.db.models.fields.AutoField: id&gt;), (&#39;id&#39;, &lt;django.db.models.fields.AutoField: id&gt;), (&#39;file&#39;, &lt;django.db.models.fields.files.FileField: file&gt;), (&#39;created_date&#39;, &lt;django.db.models.fields.DateTimeField: created_date&gt;), (&#39;views&#39;, &lt;django.db.models.fields.PositiveIntegerField: views&gt;), (&#39;likes&#39;, &lt;django.db.models.fields.PositiveIntegerField: likes&gt;)]), relations=OrderedDict([(&#39;owner&#39;, RelationInfo(model_field=&lt;django.db.models.fields.related.ForeignKey: owner&gt;, related_model=&lt;class &#39;users.models.User&#39;&gt;, to_many=False, to_field=None, has_through_model=False, reverse=False)), (&#39;content_type&#39;, RelationInfo(model_field=&lt;django.db.models.fields.related.ForeignKey: content_type&gt;, related_model=&lt;class &#39;django.contrib.contenttypes.models.ContentType&#39;&gt;, to_many=False, to_field=&#39;id&#39;, has_through_model=False, reverse=False)), (&#39;user_avatar&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;users.models.User&#39;&gt;, to_many=False, to_field=None, has_through_model=False, reverse=True)), (&#39;category_set&#39;, RelationInfo(model_field=None, related_model=&lt;class &#39;categories.models.Category&#39;&gt;, to_many=True, to_field=None, has_through_model=False, reverse=True)), (&#39;article_previe... &lt;trimmed 5779 bytes string&gt;</pre></td>
  671. </tr>
  672.  
  673. <tr>
  674. <td>many_to_many</td>
  675. <td class="code"><pre>{}</pre></td>
  676. </tr>
  677.  
  678. <tr>
  679. <td>relation_info</td>
  680. <td class="code"><pre>RelationInfo(model_field=None, related_model=&lt;class &#39;dating.models.Member&#39;&gt;, to_many=True, to_field=None, has_through_model=False, reverse=True)</pre></td>
  681. </tr>
  682.  
  683. <tr>
  684. <td>self</td>
  685. <td class="code"><pre>FileSerializer(context={&#39;view&#39;: &lt;files.views.ProjectFileView object&gt;, &#39;request&#39;: &lt;rest_framework.request.Request object&gt;, &#39;format&#39;: None}, data=&lt;QueryDict: {&#39;content_type&#39;: [&#39;forum.forumpost&#39;], &#39;file&#39;: [&lt;InMemoryUploadedFile: testTemp.jpeg (image/jpeg)&gt;]}&gt;):
  686. id = IntegerField(label=&#39;ID&#39;, read_only=True)
  687. file = FileField(label=&#39;Файлы&#39;, max_length=100)
  688. url = ReadOnlyField()
  689. owner = PrimaryKeyRelatedField(default=CurrentUserDefault(), read_only=True)
  690. is_liked = SerializerMethodField()
  691. created_date = DateTimeField(read_only=True)
  692. views = IntegerField(label=&#39;Просмотры&#39;, read_only=True)
  693. likes = IntegerField(label=&#39;Лайки&#39;, read_only=True)
  694. content_type = ChoiceField(choices=[&#39;admin.logentry&#39;, &#39;advertise.advertise&#39;, &#39;advertise.advertisetype&#39;, &#39;articles.article&#39;, &#39;articles.workinghour&#39;, &#39;articles.articletracking&#39;, &#39;articles.websites&#39;, &#39;auth.group&#39;, &#39;auth.permission&#39;, &#39;authtoken.token&#39;, &#39;blacklists.blacklist&#39;, &#39;categories.category&#39;, &#39;chat.dialog&#39;, &#39;chat.message&#39;, &#39;contenttypes.contenttype&#39;, &#39;dating.member&#39;, &#39;dating.photolike&#39;, &#39;django_twilio.credential&#39;, &#39;django_twilio.caller&#39;, &#39;exchange_rates.exchangerate&#39;, &#39;files.projectfile&#39;, &#39;forum.forumpost&#39;, &#39;forum.forumtracking&#39;, &#39;forum.forumcategory&#39;, &#39;forum.privatemessage&#39;, &#39;forum.forumtopic&#39;, &#39;frontend.module&#39;, &#39;pages.page&#39;, &#39;push_notifications.apnsdevice&#39;, &#39;push_notifications.wnsdevice&#39;, &#39;push_notifications.gcmdevice&#39;, &#39;sessions.session&#39;, &#39;sites.site&#39;, &#39;star_ratings.rating&#39;, &#39;star_ratings.userrating&#39;, &#39;thumbnail.kvstore&#39;, &#39;users.admin&#39;, &#39;users.user&#39;, &#39;users.profile&#39;, &#39;viewflow.process&#39;, &#39;viewflow.task&#39;, &#39;votes.vote&#39;, &#39;votes.voterating&#39;, &#39;weather.weatherbyday&#39;, &#39;weather.weathercurrent&#39;], write_only=True)
  695. content_type_ = SerializerMethodField(read_only=True)</pre></td>
  696. </tr>
  697.  
  698. <tr>
  699. <td>validated_data</td>
  700. <td class="code"><pre>{&#39;content_type&#39;: &lt;ContentType: Сообщение&gt;,
  701. &#39;file&#39;: &lt;InMemoryUploadedFile: testTemp.jpeg (image/jpeg)&gt;,
  702. &#39;owner&#39;: &lt;User: TTT&gt;}</pre></td>
  703. </tr>
  704.  
  705. </tbody>
  706. </table>
  707.  
  708. </li>
  709.  
  710.  
  711. <li class="frame django">
  712. <code>/usr/local/lib/python3.5/site-packages/django/db/models/manager.py</code> in <code>manager_method</code>
  713.  
  714.  
  715. <div class="context" id="c140510396967752">
  716.  
  717. <ol start="78" class="pre-context" id="pre140510396967752">
  718.  
  719. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> def check(self, **kwargs):</pre></li>
  720.  
  721. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> return []</pre></li>
  722.  
  723. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre></pre></li>
  724.  
  725. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> @classmethod</pre></li>
  726.  
  727. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> def _get_queryset_methods(cls, queryset_class):</pre></li>
  728.  
  729. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> def create_method(name, method):</pre></li>
  730.  
  731. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> def manager_method(self, *args, **kwargs):</pre></li>
  732.  
  733. </ol>
  734.  
  735. <ol start="85" class="context-line">
  736. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre>
  737. return getattr(self.get_queryset(), name)(*args, **kwargs)</pre> <span>...</span></li></ol>
  738.  
  739. <ol start='86' class="post-context" id="post140510396967752">
  740.  
  741. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> manager_method.__name__ = method.__name__</pre></li>
  742.  
  743. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> manager_method.__doc__ = method.__doc__</pre></li>
  744.  
  745. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> return manager_method</pre></li>
  746.  
  747. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre></pre></li>
  748.  
  749. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> new_methods = {}</pre></li>
  750.  
  751. <li onclick="toggle('pre140510396967752', 'post140510396967752')"><pre> # Refs http://bugs.python.org/issue1785.</pre></li>
  752.  
  753. </ol>
  754.  
  755. </div>
  756.  
  757.  
  758.  
  759. <div class="commands">
  760.  
  761. <a href="#" onclick="return varToggle(this, '140510396967752')"><span>&#x25b6;</span> Local vars</a>
  762.  
  763. </div>
  764. <table class="vars" id="v140510396967752">
  765. <thead>
  766. <tr>
  767. <th>Variable</th>
  768. <th>Value</th>
  769. </tr>
  770. </thead>
  771. <tbody>
  772.  
  773. <tr>
  774. <td>args</td>
  775. <td class="code"><pre>()</pre></td>
  776. </tr>
  777.  
  778. <tr>
  779. <td>kwargs</td>
  780. <td class="code"><pre>{&#39;content_type&#39;: &lt;ContentType: Сообщение&gt;,
  781. &#39;file&#39;: &lt;InMemoryUploadedFile: testTemp.jpeg (image/jpeg)&gt;,
  782. &#39;owner&#39;: &lt;User: TTT&gt;}</pre></td>
  783. </tr>
  784.  
  785. <tr>
  786. <td>name</td>
  787. <td class="code"><pre>&#39;create&#39;</pre></td>
  788. </tr>
  789.  
  790. <tr>
  791. <td>self</td>
  792. <td class="code"><pre>&lt;django.db.models.manager.Manager object at 0x7fcb218b7320&gt;</pre></td>
  793. </tr>
  794.  
  795. </tbody>
  796. </table>
  797.  
  798. </li>
  799.  
  800.  
  801. <li class="frame django">
  802. <code>/usr/local/lib/python3.5/site-packages/django/db/models/query.py</code> in <code>create</code>
  803.  
  804.  
  805. <div class="context" id="c140510396965448">
  806.  
  807. <ol start="386" class="pre-context" id="pre140510396965448">
  808.  
  809. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> def create(self, **kwargs):</pre></li>
  810.  
  811. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> &quot;&quot;&quot;</pre></li>
  812.  
  813. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> Creates a new object with the given kwargs, saving it to the database</pre></li>
  814.  
  815. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> and returning the created object.</pre></li>
  816.  
  817. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> &quot;&quot;&quot;</pre></li>
  818.  
  819. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> obj = self.model(**kwargs)</pre></li>
  820.  
  821. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> self._for_write = True</pre></li>
  822.  
  823. </ol>
  824.  
  825. <ol start="393" class="context-line">
  826. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre>
  827. obj.save(force_insert=True, using=self.db)</pre> <span>...</span></li></ol>
  828.  
  829. <ol start='394' class="post-context" id="post140510396965448">
  830.  
  831. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> return obj</pre></li>
  832.  
  833. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre></pre></li>
  834.  
  835. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> def _populate_pk_values(self, objs):</pre></li>
  836.  
  837. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> for obj in objs:</pre></li>
  838.  
  839. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> if obj.pk is None:</pre></li>
  840.  
  841. <li onclick="toggle('pre140510396965448', 'post140510396965448')"><pre> obj.pk = obj._meta.pk.get_pk_value_on_save(obj)</pre></li>
  842.  
  843. </ol>
  844.  
  845. </div>
  846.  
  847.  
  848.  
  849. <div class="commands">
  850.  
  851. <a href="#" onclick="return varToggle(this, '140510396965448')"><span>&#x25b6;</span> Local vars</a>
  852.  
  853. </div>
  854. <table class="vars" id="v140510396965448">
  855. <thead>
  856. <tr>
  857. <th>Variable</th>
  858. <th>Value</th>
  859. </tr>
  860. </thead>
  861. <tbody>
  862.  
  863. <tr>
  864. <td>kwargs</td>
  865. <td class="code"><pre>{&#39;content_type&#39;: &lt;ContentType: Сообщение&gt;,
  866. &#39;file&#39;: &lt;InMemoryUploadedFile: testTemp.jpeg (image/jpeg)&gt;,
  867. &#39;owner&#39;: &lt;User: TTT&gt;}</pre></td>
  868. </tr>
  869.  
  870. <tr>
  871. <td>obj</td>
  872. <td class="code"><pre>&lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg&gt;</pre></td>
  873. </tr>
  874.  
  875. <tr>
  876. <td>self</td>
  877. <td class="code"><pre>&lt;QuerySet [&lt;ProjectFile: http://phuketon.dvhs.pro/media/files/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA_oAmmgU6.PNG&gt;, &lt;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&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA_qh9KR4H.PNG&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_qAtwmlB.gif&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_9JWrItX.gif&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_CYy8ezD.gif&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_Eb4r0Jq.gif&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_zrJw5Xk.gif&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_WFB1dgg.gif&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_IWXndtH.gif&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/partlycloudy_8jCBP80.gif&gt;, &lt;ProjectFile: &gt;, &lt;ProjectFile: &gt;, &lt;ProjectFile: &gt;, &lt;ProjectFile: &gt;, &lt;ProjectFile: &gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/IMG_1593.jpg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/Untitled-1.png&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/imageTemp1512633581541.jpg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/imageTemp1512633702019.jpg&gt;, &#39;...(remaining elements truncated)...&#39;]&gt;</pre></td>
  878. </tr>
  879.  
  880. </tbody>
  881. </table>
  882.  
  883. </li>
  884.  
  885.  
  886. <li class="frame django">
  887. <code>/usr/local/lib/python3.5/site-packages/django/db/models/base.py</code> in <code>save</code>
  888.  
  889.  
  890. <div class="context" id="c140510396968776">
  891.  
  892. <ol start="799" class="pre-context" id="pre140510396968776">
  893.  
  894. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> if not field.primary_key and not hasattr(field, &#39;through&#39;):</pre></li>
  895.  
  896. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> field_names.add(field.attname)</pre></li>
  897.  
  898. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> loaded_fields = field_names.difference(deferred_fields)</pre></li>
  899.  
  900. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> if loaded_fields:</pre></li>
  901.  
  902. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> update_fields = frozenset(loaded_fields)</pre></li>
  903.  
  904. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre></pre></li>
  905.  
  906. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> self.save_base(using=using, force_insert=force_insert,</pre></li>
  907.  
  908. </ol>
  909.  
  910. <ol start="806" class="context-line">
  911. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre>
  912. force_update=force_update, update_fields=update_fields)</pre> <span>...</span></li></ol>
  913.  
  914. <ol start='807' class="post-context" id="post140510396968776">
  915.  
  916. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> save.alters_data = True</pre></li>
  917.  
  918. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre></pre></li>
  919.  
  920. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> def save_base(self, raw=False, force_insert=False,</pre></li>
  921.  
  922. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> force_update=False, using=None, update_fields=None):</pre></li>
  923.  
  924. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> &quot;&quot;&quot;</pre></li>
  925.  
  926. <li onclick="toggle('pre140510396968776', 'post140510396968776')"><pre> Handles the parts of saving which should be done only once per save,</pre></li>
  927.  
  928. </ol>
  929.  
  930. </div>
  931.  
  932.  
  933.  
  934. <div class="commands">
  935.  
  936. <a href="#" onclick="return varToggle(this, '140510396968776')"><span>&#x25b6;</span> Local vars</a>
  937.  
  938. </div>
  939. <table class="vars" id="v140510396968776">
  940. <thead>
  941. <tr>
  942. <th>Variable</th>
  943. <th>Value</th>
  944. </tr>
  945. </thead>
  946. <tbody>
  947.  
  948. <tr>
  949. <td>deferred_fields</td>
  950. <td class="code"><pre>set()</pre></td>
  951. </tr>
  952.  
  953. <tr>
  954. <td>field</td>
  955. <td class="code"><pre>&lt;django.db.models.fields.PositiveIntegerField: likes&gt;</pre></td>
  956. </tr>
  957.  
  958. <tr>
  959. <td>force_insert</td>
  960. <td class="code"><pre>True</pre></td>
  961. </tr>
  962.  
  963. <tr>
  964. <td>force_update</td>
  965. <td class="code"><pre>False</pre></td>
  966. </tr>
  967.  
  968. <tr>
  969. <td>obj</td>
  970. <td class="code"><pre>&lt;ContentType: Сообщение&gt;</pre></td>
  971. </tr>
  972.  
  973. <tr>
  974. <td>self</td>
  975. <td class="code"><pre>&lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg&gt;</pre></td>
  976. </tr>
  977.  
  978. <tr>
  979. <td>update_fields</td>
  980. <td class="code"><pre>None</pre></td>
  981. </tr>
  982.  
  983. <tr>
  984. <td>using</td>
  985. <td class="code"><pre>&#39;default&#39;</pre></td>
  986. </tr>
  987.  
  988. </tbody>
  989. </table>
  990.  
  991. </li>
  992.  
  993.  
  994. <li class="frame django">
  995. <code>/usr/local/lib/python3.5/site-packages/django/db/models/base.py</code> in <code>save_base</code>
  996.  
  997.  
  998. <div class="context" id="c140510396966920">
  999.  
  1000. <ol start="839" class="pre-context" id="pre140510396966920">
  1001.  
  1002. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> # Once saved, this is no longer a to-be-added instance.</pre></li>
  1003.  
  1004. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> self._state.adding = False</pre></li>
  1005.  
  1006. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre></pre></li>
  1007.  
  1008. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> # Signal that the save is complete</pre></li>
  1009.  
  1010. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> if not meta.auto_created:</pre></li>
  1011.  
  1012. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> post_save.send(</pre></li>
  1013.  
  1014. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> sender=origin, instance=self, created=(not updated),</pre></li>
  1015.  
  1016. </ol>
  1017.  
  1018. <ol start="846" class="context-line">
  1019. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre>
  1020. update_fields=update_fields, raw=raw, using=using,</pre> <span>...</span></li></ol>
  1021.  
  1022. <ol start='847' class="post-context" id="post140510396966920">
  1023.  
  1024. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> )</pre></li>
  1025.  
  1026. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre></pre></li>
  1027.  
  1028. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> save_base.alters_data = True</pre></li>
  1029.  
  1030. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre></pre></li>
  1031.  
  1032. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> def _save_parents(self, cls, using, update_fields):</pre></li>
  1033.  
  1034. <li onclick="toggle('pre140510396966920', 'post140510396966920')"><pre> &quot;&quot;&quot;</pre></li>
  1035.  
  1036. </ol>
  1037.  
  1038. </div>
  1039.  
  1040.  
  1041.  
  1042. <div class="commands">
  1043.  
  1044. <a href="#" onclick="return varToggle(this, '140510396966920')"><span>&#x25b6;</span> Local vars</a>
  1045.  
  1046. </div>
  1047. <table class="vars" id="v140510396966920">
  1048. <thead>
  1049. <tr>
  1050. <th>Variable</th>
  1051. <th>Value</th>
  1052. </tr>
  1053. </thead>
  1054. <tbody>
  1055.  
  1056. <tr>
  1057. <td>cls</td>
  1058. <td class="code"><pre>&lt;class &#39;files.models.ProjectFile&#39;&gt;</pre></td>
  1059. </tr>
  1060.  
  1061. <tr>
  1062. <td>force_insert</td>
  1063. <td class="code"><pre>True</pre></td>
  1064. </tr>
  1065.  
  1066. <tr>
  1067. <td>force_update</td>
  1068. <td class="code"><pre>False</pre></td>
  1069. </tr>
  1070.  
  1071. <tr>
  1072. <td>meta</td>
  1073. <td class="code"><pre>&lt;Options for ProjectFile&gt;</pre></td>
  1074. </tr>
  1075.  
  1076. <tr>
  1077. <td>origin</td>
  1078. <td class="code"><pre>&lt;class &#39;files.models.ProjectFile&#39;&gt;</pre></td>
  1079. </tr>
  1080.  
  1081. <tr>
  1082. <td>raw</td>
  1083. <td class="code"><pre>False</pre></td>
  1084. </tr>
  1085.  
  1086. <tr>
  1087. <td>self</td>
  1088. <td class="code"><pre>&lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg&gt;</pre></td>
  1089. </tr>
  1090.  
  1091. <tr>
  1092. <td>update_fields</td>
  1093. <td class="code"><pre>None</pre></td>
  1094. </tr>
  1095.  
  1096. <tr>
  1097. <td>updated</td>
  1098. <td class="code"><pre>False</pre></td>
  1099. </tr>
  1100.  
  1101. <tr>
  1102. <td>using</td>
  1103. <td class="code"><pre>&#39;default&#39;</pre></td>
  1104. </tr>
  1105.  
  1106. </tbody>
  1107. </table>
  1108.  
  1109. </li>
  1110.  
  1111.  
  1112. <li class="frame django">
  1113. <code>/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py</code> in <code>send</code>
  1114.  
  1115.  
  1116. <div class="context" id="c140510399104840">
  1117.  
  1118. <ol start="186" class="pre-context" id="pre140510399104840">
  1119.  
  1120. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> Returns a list of tuple pairs [(receiver, response), ... ].</pre></li>
  1121.  
  1122. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> &quot;&quot;&quot;</pre></li>
  1123.  
  1124. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:</pre></li>
  1125.  
  1126. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> return []</pre></li>
  1127.  
  1128. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre></pre></li>
  1129.  
  1130. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> return [</pre></li>
  1131.  
  1132. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> (receiver, receiver(signal=self, sender=sender, **named))</pre></li>
  1133.  
  1134. </ol>
  1135.  
  1136. <ol start="193" class="context-line">
  1137. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre>
  1138. for receiver in self._live_receivers(sender)</pre> <span>...</span></li></ol>
  1139.  
  1140. <ol start='194' class="post-context" id="post140510399104840">
  1141.  
  1142. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> ]</pre></li>
  1143.  
  1144. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre></pre></li>
  1145.  
  1146. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> def send_robust(self, sender, **named):</pre></li>
  1147.  
  1148. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> &quot;&quot;&quot;</pre></li>
  1149.  
  1150. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre> Send signal from sender to all connected receivers catching errors.</pre></li>
  1151.  
  1152. <li onclick="toggle('pre140510399104840', 'post140510399104840')"><pre></pre></li>
  1153.  
  1154. </ol>
  1155.  
  1156. </div>
  1157.  
  1158.  
  1159.  
  1160. <div class="commands">
  1161.  
  1162. <a href="#" onclick="return varToggle(this, '140510399104840')"><span>&#x25b6;</span> Local vars</a>
  1163.  
  1164. </div>
  1165. <table class="vars" id="v140510399104840">
  1166. <thead>
  1167. <tr>
  1168. <th>Variable</th>
  1169. <th>Value</th>
  1170. </tr>
  1171. </thead>
  1172. <tbody>
  1173.  
  1174. <tr>
  1175. <td>named</td>
  1176. <td class="code"><pre>{&#39;created&#39;: True,
  1177. &#39;instance&#39;: &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg&gt;,
  1178. &#39;raw&#39;: False,
  1179. &#39;update_fields&#39;: None,
  1180. &#39;using&#39;: &#39;default&#39;}</pre></td>
  1181. </tr>
  1182.  
  1183. <tr>
  1184. <td>self</td>
  1185. <td class="code"><pre>&lt;django.db.models.signals.ModelSignal object at 0x7fcb337ceb70&gt;</pre></td>
  1186. </tr>
  1187.  
  1188. <tr>
  1189. <td>sender</td>
  1190. <td class="code"><pre>&lt;class &#39;files.models.ProjectFile&#39;&gt;</pre></td>
  1191. </tr>
  1192.  
  1193. </tbody>
  1194. </table>
  1195.  
  1196. </li>
  1197.  
  1198.  
  1199. <li class="frame django">
  1200. <code>/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py</code> in <code>&lt;listcomp&gt;</code>
  1201.  
  1202.  
  1203. <div class="context" id="c140510399106184">
  1204.  
  1205. <ol start="186" class="pre-context" id="pre140510399106184">
  1206.  
  1207. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> Returns a list of tuple pairs [(receiver, response), ... ].</pre></li>
  1208.  
  1209. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> &quot;&quot;&quot;</pre></li>
  1210.  
  1211. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:</pre></li>
  1212.  
  1213. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> return []</pre></li>
  1214.  
  1215. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre></pre></li>
  1216.  
  1217. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> return [</pre></li>
  1218.  
  1219. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> (receiver, receiver(signal=self, sender=sender, **named))</pre></li>
  1220.  
  1221. </ol>
  1222.  
  1223. <ol start="193" class="context-line">
  1224. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre>
  1225. for receiver in self._live_receivers(sender)</pre> <span>...</span></li></ol>
  1226.  
  1227. <ol start='194' class="post-context" id="post140510399106184">
  1228.  
  1229. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> ]</pre></li>
  1230.  
  1231. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre></pre></li>
  1232.  
  1233. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> def send_robust(self, sender, **named):</pre></li>
  1234.  
  1235. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> &quot;&quot;&quot;</pre></li>
  1236.  
  1237. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre> Send signal from sender to all connected receivers catching errors.</pre></li>
  1238.  
  1239. <li onclick="toggle('pre140510399106184', 'post140510399106184')"><pre></pre></li>
  1240.  
  1241. </ol>
  1242.  
  1243. </div>
  1244.  
  1245.  
  1246.  
  1247. <div class="commands">
  1248.  
  1249. <a href="#" onclick="return varToggle(this, '140510399106184')"><span>&#x25b6;</span> Local vars</a>
  1250.  
  1251. </div>
  1252. <table class="vars" id="v140510399106184">
  1253. <thead>
  1254. <tr>
  1255. <th>Variable</th>
  1256. <th>Value</th>
  1257. </tr>
  1258. </thead>
  1259. <tbody>
  1260.  
  1261. <tr>
  1262. <td>.0</td>
  1263. <td class="code"><pre>&lt;list_iterator object at 0x7fcb205969b0&gt;</pre></td>
  1264. </tr>
  1265.  
  1266. <tr>
  1267. <td>named</td>
  1268. <td class="code"><pre>{&#39;created&#39;: True,
  1269. &#39;instance&#39;: &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg&gt;,
  1270. &#39;raw&#39;: False,
  1271. &#39;update_fields&#39;: None,
  1272. &#39;using&#39;: &#39;default&#39;}</pre></td>
  1273. </tr>
  1274.  
  1275. <tr>
  1276. <td>receiver</td>
  1277. <td class="code"><pre>&lt;function calculate_total_likes_views at 0x7fcb20e51598&gt;</pre></td>
  1278. </tr>
  1279.  
  1280. <tr>
  1281. <td>self</td>
  1282. <td class="code"><pre>&lt;django.db.models.signals.ModelSignal object at 0x7fcb337ceb70&gt;</pre></td>
  1283. </tr>
  1284.  
  1285. <tr>
  1286. <td>sender</td>
  1287. <td class="code"><pre>&lt;class &#39;files.models.ProjectFile&#39;&gt;</pre></td>
  1288. </tr>
  1289.  
  1290. </tbody>
  1291. </table>
  1292.  
  1293. </li>
  1294.  
  1295.  
  1296. <li class="frame user">
  1297. <code>/app/files/signals.py</code> in <code>calculate_total_likes_views</code>
  1298.  
  1299.  
  1300. <div class="context" id="c140510397647624">
  1301.  
  1302. <ol start="15" class="pre-context" id="pre140510397647624">
  1303.  
  1304. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre></pre></li>
  1305.  
  1306. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre></pre></li>
  1307.  
  1308. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre>@receiver(post_save, sender=ProjectFile)</pre></li>
  1309.  
  1310. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre>def calculate_total_likes_views(sender, instance, **kwargs):</pre></li>
  1311.  
  1312. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> queryset = ProjectFile.objects.filter(owner_id=instance.owner.id)</pre></li>
  1313.  
  1314. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> total = queryset.aggregate(total_views=Sum(&#39;views&#39;), total_likes=Sum(&#39;likes&#39;))</pre></li>
  1315.  
  1316. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> member = Member.objects.filter(user_id=instance.owner.id).first()</pre></li>
  1317.  
  1318. </ol>
  1319.  
  1320. <ol start="22" class="context-line">
  1321. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre>
  1322. member.total_views = total.get(&#39;total_views&#39;)</pre> <span>...</span></li></ol>
  1323.  
  1324. <ol start='23' class="post-context" id="post140510397647624">
  1325.  
  1326. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> member.total_likes = total.get(&#39;total_likes&#39;)</pre></li>
  1327.  
  1328. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre> member.save(update_fields=[&#39;total_views&#39;, &#39;total_likes&#39;])</pre></li>
  1329.  
  1330. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre></pre></li>
  1331.  
  1332. <li onclick="toggle('pre140510397647624', 'post140510397647624')"><pre></pre></li>
  1333.  
  1334. </ol>
  1335.  
  1336. </div>
  1337.  
  1338.  
  1339.  
  1340. <div class="commands">
  1341.  
  1342. <a href="#" onclick="return varToggle(this, '140510397647624')"><span>&#x25b6;</span> Local vars</a>
  1343.  
  1344. </div>
  1345. <table class="vars" id="v140510397647624">
  1346. <thead>
  1347. <tr>
  1348. <th>Variable</th>
  1349. <th>Value</th>
  1350. </tr>
  1351. </thead>
  1352. <tbody>
  1353.  
  1354. <tr>
  1355. <td>instance</td>
  1356. <td class="code"><pre>&lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg&gt;</pre></td>
  1357. </tr>
  1358.  
  1359. <tr>
  1360. <td>kwargs</td>
  1361. <td class="code"><pre>{&#39;created&#39;: True,
  1362. &#39;raw&#39;: False,
  1363. &#39;signal&#39;: &lt;django.db.models.signals.ModelSignal object at 0x7fcb337ceb70&gt;,
  1364. &#39;update_fields&#39;: None,
  1365. &#39;using&#39;: &#39;default&#39;}</pre></td>
  1366. </tr>
  1367.  
  1368. <tr>
  1369. <td>member</td>
  1370. <td class="code"><pre>None</pre></td>
  1371. </tr>
  1372.  
  1373. <tr>
  1374. <td>queryset</td>
  1375. <td class="code"><pre>&lt;QuerySet [&lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp.jpeg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_xi23eLa.jpeg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_QDrgCW4.jpeg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_sgaPPcI.jpeg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_LPTrBnf.jpeg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_cYBq3KP.jpeg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_eLMVU6L.jpeg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_omYbW2W.jpeg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_rAAKvcW.jpeg&gt;, &lt;ProjectFile: http://phuketon.dvhs.pro/media/files/testTemp_N01nUk3.jpeg&gt;]&gt;</pre></td>
  1376. </tr>
  1377.  
  1378. <tr>
  1379. <td>sender</td>
  1380. <td class="code"><pre>&lt;class &#39;files.models.ProjectFile&#39;&gt;</pre></td>
  1381. </tr>
  1382.  
  1383. <tr>
  1384. <td>total</td>
  1385. <td class="code"><pre>{&#39;total_likes&#39;: 0, &#39;total_views&#39;: 0}</pre></td>
  1386. </tr>
  1387.  
  1388. </tbody>
  1389. </table>
  1390.  
  1391. </li>
  1392.  
  1393.  
  1394. <li><h3>
  1395.  
  1396. During handling of the above exception ('NoneType' object has no attribute 'total_views'), another exception occurred:
  1397.  
  1398. </h3></li>
  1399.  
  1400. <li class="frame django">
  1401. <code>/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
  1402.  
  1403.  
  1404. <div class="context" id="c140510396641928">
  1405.  
  1406. <ol start="34" class="pre-context" id="pre140510396641928">
  1407.  
  1408. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
  1409.  
  1410. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
  1411.  
  1412. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> can rely on getting a response instead of an exception.</pre></li>
  1413.  
  1414. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> &quot;&quot;&quot;</pre></li>
  1415.  
  1416. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
  1417.  
  1418. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> def inner(request):</pre></li>
  1419.  
  1420. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> try:</pre></li>
  1421.  
  1422. </ol>
  1423.  
  1424. <ol start="41" class="context-line">
  1425. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre>
  1426. response = get_response(request)</pre> <span>...</span></li></ol>
  1427.  
  1428. <ol start='42' class="post-context" id="post140510396641928">
  1429.  
  1430. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> except Exception as exc:</pre></li>
  1431.  
  1432. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> response = response_for_exception(request, exc)</pre></li>
  1433.  
  1434. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> return response</pre></li>
  1435.  
  1436. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre> return inner</pre></li>
  1437.  
  1438. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre></pre></li>
  1439.  
  1440. <li onclick="toggle('pre140510396641928', 'post140510396641928')"><pre></pre></li>
  1441.  
  1442. </ol>
  1443.  
  1444. </div>
  1445.  
  1446.  
  1447.  
  1448. <div class="commands">
  1449.  
  1450. <a href="#" onclick="return varToggle(this, '140510396641928')"><span>&#x25b6;</span> Local vars</a>
  1451.  
  1452. </div>
  1453. <table class="vars" id="v140510396641928">
  1454. <thead>
  1455. <tr>
  1456. <th>Variable</th>
  1457. <th>Value</th>
  1458. </tr>
  1459. </thead>
  1460. <tbody>
  1461.  
  1462. <tr>
  1463. <td>exc</td>
  1464. <td class="code"><pre>AttributeError(&quot;&#39;dict&#39; object has no attribute &#39;exception&#39;&quot;,)</pre></td>
  1465. </tr>
  1466.  
  1467. <tr>
  1468. <td>get_response</td>
  1469. <td class="code"><pre>&lt;bound method BaseHandler._legacy_get_response of &lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fcb31ca67b8&gt;&gt;</pre></td>
  1470. </tr>
  1471.  
  1472. <tr>
  1473. <td>request</td>
  1474. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/v1/files/&#39;&gt;</pre></td>
  1475. </tr>
  1476.  
  1477. </tbody>
  1478. </table>
  1479.  
  1480. </li>
  1481.  
  1482.  
  1483. <li class="frame django">
  1484. <code>/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
  1485.  
  1486.  
  1487. <div class="context" id="c140510397145864">
  1488.  
  1489. <ol start="242" class="pre-context" id="pre140510397145864">
  1490.  
  1491. <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> # Apply request middleware</pre></li>
  1492.  
  1493. <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> for middleware_method in self._request_middleware:</pre></li>
  1494.  
  1495. <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> response = middleware_method(request)</pre></li>
  1496.  
  1497. <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> if response:</pre></li>
  1498.  
  1499. <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> break</pre></li>
  1500.  
  1501. <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre></pre></li>
  1502.  
  1503. <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> if response is None:</pre></li>
  1504.  
  1505. </ol>
  1506.  
  1507. <ol start="249" class="context-line">
  1508. <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre>
  1509. response = self._get_response(request)</pre> <span>...</span></li></ol>
  1510.  
  1511. <ol start='250' class="post-context" id="post140510397145864">
  1512.  
  1513. <li onclick="toggle('pre140510397145864', 'post140510397145864')"><pre> return response</pre></li>
  1514.  
  1515. </ol>
  1516.  
  1517. </div>
  1518.  
  1519.  
  1520.  
  1521. <div class="commands">
  1522.  
  1523. <a href="#" onclick="return varToggle(this, '140510397145864')"><span>&#x25b6;</span> Local vars</a>
  1524.  
  1525. </div>
  1526. <table class="vars" id="v140510397145864">
  1527. <thead>
  1528. <tr>
  1529. <th>Variable</th>
  1530. <th>Value</th>
  1531. </tr>
  1532. </thead>
  1533. <tbody>
  1534.  
  1535. <tr>
  1536. <td>middleware_method</td>
  1537. <td class="code"><pre>&lt;bound method ActiveUserMiddleware.process_request of &lt;core.middleware.ActiveUserMiddleware object at 0x7fcb20e0c7f0&gt;&gt;</pre></td>
  1538. </tr>
  1539.  
  1540. <tr>
  1541. <td>request</td>
  1542. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/v1/files/&#39;&gt;</pre></td>
  1543. </tr>
  1544.  
  1545. <tr>
  1546. <td>response</td>
  1547. <td class="code"><pre>None</pre></td>
  1548. </tr>
  1549.  
  1550. <tr>
  1551. <td>self</td>
  1552. <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fcb31ca67b8&gt;</pre></td>
  1553. </tr>
  1554.  
  1555. </tbody>
  1556. </table>
  1557.  
  1558. </li>
  1559.  
  1560.  
  1561. <li class="frame django">
  1562. <code>/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
  1563.  
  1564.  
  1565. <div class="context" id="c140510397148360">
  1566.  
  1567. <ol start="180" class="pre-context" id="pre140510397148360">
  1568.  
  1569. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> break</pre></li>
  1570.  
  1571. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre></pre></li>
  1572.  
  1573. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> if response is None:</pre></li>
  1574.  
  1575. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
  1576.  
  1577. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> try:</pre></li>
  1578.  
  1579. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>
  1580.  
  1581. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> except Exception as e:</pre></li>
  1582.  
  1583. </ol>
  1584.  
  1585. <ol start="187" class="context-line">
  1586. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre>
  1587. response = self.process_exception_by_middleware(e, request)</pre> <span>...</span></li></ol>
  1588.  
  1589. <ol start='188' class="post-context" id="post140510397148360">
  1590.  
  1591. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre></pre></li>
  1592.  
  1593. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> # Complain if the view returned None (a common error).</pre></li>
  1594.  
  1595. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> if response is None:</pre></li>
  1596.  
  1597. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
  1598.  
  1599. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> view_name = callback.__name__</pre></li>
  1600.  
  1601. <li onclick="toggle('pre140510397148360', 'post140510397148360')"><pre> else: # CBV</pre></li>
  1602.  
  1603. </ol>
  1604.  
  1605. </div>
  1606.  
  1607.  
  1608.  
  1609. <div class="commands">
  1610.  
  1611. <a href="#" onclick="return varToggle(this, '140510397148360')"><span>&#x25b6;</span> Local vars</a>
  1612.  
  1613. </div>
  1614. <table class="vars" id="v140510397148360">
  1615. <thead>
  1616. <tr>
  1617. <th>Variable</th>
  1618. <th>Value</th>
  1619. </tr>
  1620. </thead>
  1621. <tbody>
  1622.  
  1623. <tr>
  1624. <td>callback</td>
  1625. <td class="code"><pre>&lt;function ProjectFileView at 0x7fcb20d6eb70&gt;</pre></td>
  1626. </tr>
  1627.  
  1628. <tr>
  1629. <td>callback_args</td>
  1630. <td class="code"><pre>()</pre></td>
  1631. </tr>
  1632.  
  1633. <tr>
  1634. <td>callback_kwargs</td>
  1635. <td class="code"><pre>{}</pre></td>
  1636. </tr>
  1637.  
  1638. <tr>
  1639. <td>middleware_method</td>
  1640. <td class="code"><pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7fcb20e0c6a0&gt;&gt;</pre></td>
  1641. </tr>
  1642.  
  1643. <tr>
  1644. <td>request</td>
  1645. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/v1/files/&#39;&gt;</pre></td>
  1646. </tr>
  1647.  
  1648. <tr>
  1649. <td>resolver</td>
  1650. <td class="code"><pre>&lt;RegexURLResolver &#39;urls&#39; (None:None) ^/&gt;</pre></td>
  1651. </tr>
  1652.  
  1653. <tr>
  1654. <td>resolver_match</td>
  1655. <td class="code"><pre>ResolverMatch(func=files.views.ProjectFileView, args=(), kwargs={}, url_name=files-list, app_names=[], namespaces=[])</pre></td>
  1656. </tr>
  1657.  
  1658. <tr>
  1659. <td>response</td>
  1660. <td class="code"><pre>None</pre></td>
  1661. </tr>
  1662.  
  1663. <tr>
  1664. <td>self</td>
  1665. <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fcb31ca67b8&gt;</pre></td>
  1666. </tr>
  1667.  
  1668. <tr>
  1669. <td>wrapped_callback</td>
  1670. <td class="code"><pre>&lt;function ProjectFileView at 0x7fcb20d6eb70&gt;</pre></td>
  1671. </tr>
  1672.  
  1673. </tbody>
  1674. </table>
  1675.  
  1676. </li>
  1677.  
  1678.  
  1679. <li class="frame django">
  1680. <code>/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
  1681.  
  1682.  
  1683. <div class="context" id="c140510397149000">
  1684.  
  1685. <ol start="178" class="pre-context" id="pre140510397149000">
  1686.  
  1687. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>
  1688.  
  1689. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> if response:</pre></li>
  1690.  
  1691. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> break</pre></li>
  1692.  
  1693. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre></pre></li>
  1694.  
  1695. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> if response is None:</pre></li>
  1696.  
  1697. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
  1698.  
  1699. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> try:</pre></li>
  1700.  
  1701. </ol>
  1702.  
  1703. <ol start="185" class="context-line">
  1704. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre>
  1705. response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol>
  1706.  
  1707. <ol start='186' class="post-context" id="post140510397149000">
  1708.  
  1709. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> except Exception as e:</pre></li>
  1710.  
  1711. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
  1712.  
  1713. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre></pre></li>
  1714.  
  1715. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> # Complain if the view returned None (a common error).</pre></li>
  1716.  
  1717. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> if response is None:</pre></li>
  1718.  
  1719. <li onclick="toggle('pre140510397149000', 'post140510397149000')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
  1720.  
  1721. </ol>
  1722.  
  1723. </div>
  1724.  
  1725.  
  1726.  
  1727. <div class="commands">
  1728.  
  1729. <a href="#" onclick="return varToggle(this, '140510397149000')"><span>&#x25b6;</span> Local vars</a>
  1730.  
  1731. </div>
  1732. <table class="vars" id="v140510397149000">
  1733. <thead>
  1734. <tr>
  1735. <th>Variable</th>
  1736. <th>Value</th>
  1737. </tr>
  1738. </thead>
  1739. <tbody>
  1740.  
  1741. <tr>
  1742. <td>callback</td>
  1743. <td class="code"><pre>&lt;function ProjectFileView at 0x7fcb20d6eb70&gt;</pre></td>
  1744. </tr>
  1745.  
  1746. <tr>
  1747. <td>callback_args</td>
  1748. <td class="code"><pre>()</pre></td>
  1749. </tr>
  1750.  
  1751. <tr>
  1752. <td>callback_kwargs</td>
  1753. <td class="code"><pre>{}</pre></td>
  1754. </tr>
  1755.  
  1756. <tr>
  1757. <td>middleware_method</td>
  1758. <td class="code"><pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7fcb20e0c6a0&gt;&gt;</pre></td>
  1759. </tr>
  1760.  
  1761. <tr>
  1762. <td>request</td>
  1763. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/v1/files/&#39;&gt;</pre></td>
  1764. </tr>
  1765.  
  1766. <tr>
  1767. <td>resolver</td>
  1768. <td class="code"><pre>&lt;RegexURLResolver &#39;urls&#39; (None:None) ^/&gt;</pre></td>
  1769. </tr>
  1770.  
  1771. <tr>
  1772. <td>resolver_match</td>
  1773. <td class="code"><pre>ResolverMatch(func=files.views.ProjectFileView, args=(), kwargs={}, url_name=files-list, app_names=[], namespaces=[])</pre></td>
  1774. </tr>
  1775.  
  1776. <tr>
  1777. <td>response</td>
  1778. <td class="code"><pre>None</pre></td>
  1779. </tr>
  1780.  
  1781. <tr>
  1782. <td>self</td>
  1783. <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fcb31ca67b8&gt;</pre></td>
  1784. </tr>
  1785.  
  1786. <tr>
  1787. <td>wrapped_callback</td>
  1788. <td class="code"><pre>&lt;function ProjectFileView at 0x7fcb20d6eb70&gt;</pre></td>
  1789. </tr>
  1790.  
  1791. </tbody>
  1792. </table>
  1793.  
  1794. </li>
  1795.  
  1796.  
  1797. <li class="frame django">
  1798. <code>/usr/local/lib/python3.5/site-packages/django/views/decorators/csrf.py</code> in <code>wrapped_view</code>
  1799.  
  1800.  
  1801. <div class="context" id="c140510397148424">
  1802.  
  1803. <ol start="51" class="pre-context" id="pre140510397148424">
  1804.  
  1805. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> &quot;&quot;&quot;</pre></li>
  1806.  
  1807. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> Marks a view function as being exempt from the CSRF view protection.</pre></li>
  1808.  
  1809. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> &quot;&quot;&quot;</pre></li>
  1810.  
  1811. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> # We could just do view_func.csrf_exempt = True, but decorators</pre></li>
  1812.  
  1813. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> # are nicer if they don&#39;t have side-effects, so we return a new</pre></li>
  1814.  
  1815. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> # function.</pre></li>
  1816.  
  1817. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> def wrapped_view(*args, **kwargs):</pre></li>
  1818.  
  1819. </ol>
  1820.  
  1821. <ol start="58" class="context-line">
  1822. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre>
  1823. return view_func(*args, **kwargs)</pre> <span>...</span></li></ol>
  1824.  
  1825. <ol start='59' class="post-context" id="post140510397148424">
  1826.  
  1827. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> wrapped_view.csrf_exempt = True</pre></li>
  1828.  
  1829. <li onclick="toggle('pre140510397148424', 'post140510397148424')"><pre> return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view)</pre></li>
  1830.  
  1831. </ol>
  1832.  
  1833. </div>
  1834.  
  1835.  
  1836.  
  1837. <div class="commands">
  1838.  
  1839. <a href="#" onclick="return varToggle(this, '140510397148424')"><span>&#x25b6;</span> Local vars</a>
  1840.  
  1841. </div>
  1842. <table class="vars" id="v140510397148424">
  1843. <thead>
  1844. <tr>
  1845. <th>Variable</th>
  1846. <th>Value</th>
  1847. </tr>
  1848. </thead>
  1849. <tbody>
  1850.  
  1851. <tr>
  1852. <td>args</td>
  1853. <td class="code"><pre>(&lt;WSGIRequest: POST &#39;/api/v1/files/&#39;&gt;,)</pre></td>
  1854. </tr>
  1855.  
  1856. <tr>
  1857. <td>kwargs</td>
  1858. <td class="code"><pre>{}</pre></td>
  1859. </tr>
  1860.  
  1861. <tr>
  1862. <td>view_func</td>
  1863. <td class="code"><pre>&lt;function ProjectFileView at 0x7fcb20d6eae8&gt;</pre></td>
  1864. </tr>
  1865.  
  1866. </tbody>
  1867. </table>
  1868.  
  1869. </li>
  1870.  
  1871.  
  1872. <li class="frame user">
  1873. <code>/usr/local/lib/python3.5/site-packages/rest_framework/viewsets.py</code> in <code>view</code>
  1874.  
  1875.  
  1876. <div class="context" id="c140510397146248">
  1877.  
  1878. <ol start="83" class="pre-context" id="pre140510397146248">
  1879.  
  1880. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> self.head = self.get</pre></li>
  1881.  
  1882. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre></pre></li>
  1883.  
  1884. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> self.request = request</pre></li>
  1885.  
  1886. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> self.args = args</pre></li>
  1887.  
  1888. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> self.kwargs = kwargs</pre></li>
  1889.  
  1890. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre></pre></li>
  1891.  
  1892. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> # And continue as usual</pre></li>
  1893.  
  1894. </ol>
  1895.  
  1896. <ol start="90" class="context-line">
  1897. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre>
  1898. return self.dispatch(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  1899.  
  1900. <ol start='91' class="post-context" id="post140510397146248">
  1901.  
  1902. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre></pre></li>
  1903.  
  1904. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> # take name and docstring from class</pre></li>
  1905.  
  1906. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> update_wrapper(view, cls, updated=())</pre></li>
  1907.  
  1908. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre></pre></li>
  1909.  
  1910. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> # and possible attributes set by decorators</pre></li>
  1911.  
  1912. <li onclick="toggle('pre140510397146248', 'post140510397146248')"><pre> # like csrf_exempt from dispatch</pre></li>
  1913.  
  1914. </ol>
  1915.  
  1916. </div>
  1917.  
  1918.  
  1919.  
  1920. <div class="commands">
  1921.  
  1922. <a href="#" onclick="return varToggle(this, '140510397146248')"><span>&#x25b6;</span> Local vars</a>
  1923.  
  1924. </div>
  1925. <table class="vars" id="v140510397146248">
  1926. <thead>
  1927. <tr>
  1928. <th>Variable</th>
  1929. <th>Value</th>
  1930. </tr>
  1931. </thead>
  1932. <tbody>
  1933.  
  1934. <tr>
  1935. <td>action</td>
  1936. <td class="code"><pre>&#39;create&#39;</pre></td>
  1937. </tr>
  1938.  
  1939. <tr>
  1940. <td>actions</td>
  1941. <td class="code"><pre>{&#39;get&#39;: &#39;list&#39;, &#39;post&#39;: &#39;create&#39;}</pre></td>
  1942. </tr>
  1943.  
  1944. <tr>
  1945. <td>args</td>
  1946. <td class="code"><pre>()</pre></td>
  1947. </tr>
  1948.  
  1949. <tr>
  1950. <td>cls</td>
  1951. <td class="code"><pre>&lt;class &#39;files.views.ProjectFileView&#39;&gt;</pre></td>
  1952. </tr>
  1953.  
  1954. <tr>
  1955. <td>handler</td>
  1956. <td class="code"><pre>&lt;bound method CreateModelMixin.create of &lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;&gt;</pre></td>
  1957. </tr>
  1958.  
  1959. <tr>
  1960. <td>initkwargs</td>
  1961. <td class="code"><pre>{&#39;suffix&#39;: &#39;List&#39;}</pre></td>
  1962. </tr>
  1963.  
  1964. <tr>
  1965. <td>kwargs</td>
  1966. <td class="code"><pre>{}</pre></td>
  1967. </tr>
  1968.  
  1969. <tr>
  1970. <td>method</td>
  1971. <td class="code"><pre>&#39;post&#39;</pre></td>
  1972. </tr>
  1973.  
  1974. <tr>
  1975. <td>request</td>
  1976. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/v1/files/&#39;&gt;</pre></td>
  1977. </tr>
  1978.  
  1979. <tr>
  1980. <td>self</td>
  1981. <td class="code"><pre>&lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;</pre></td>
  1982. </tr>
  1983.  
  1984. </tbody>
  1985. </table>
  1986.  
  1987. </li>
  1988.  
  1989.  
  1990. <li class="frame user">
  1991. <code>/usr/local/lib/python3.5/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
  1992.  
  1993.  
  1994. <div class="context" id="c140510397145416">
  1995.  
  1996. <ol start="482" class="pre-context" id="pre140510397145416">
  1997.  
  1998. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> self.http_method_not_allowed)</pre></li>
  1999.  
  2000. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> else:</pre></li>
  2001.  
  2002. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> handler = self.http_method_not_allowed</pre></li>
  2003.  
  2004. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre></pre></li>
  2005.  
  2006. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> response = handler(request, *args, **kwargs)</pre></li>
  2007.  
  2008. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre></pre></li>
  2009.  
  2010. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> except Exception as exc:</pre></li>
  2011.  
  2012. </ol>
  2013.  
  2014. <ol start="489" class="context-line">
  2015. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre>
  2016. response = self.handle_exception(exc)</pre> <span>...</span></li></ol>
  2017.  
  2018. <ol start='490' class="post-context" id="post140510397145416">
  2019.  
  2020. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre></pre></li>
  2021.  
  2022. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
  2023.  
  2024. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> return self.response</pre></li>
  2025.  
  2026. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre></pre></li>
  2027.  
  2028. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> def options(self, request, *args, **kwargs):</pre></li>
  2029.  
  2030. <li onclick="toggle('pre140510397145416', 'post140510397145416')"><pre> &quot;&quot;&quot;</pre></li>
  2031.  
  2032. </ol>
  2033.  
  2034. </div>
  2035.  
  2036.  
  2037.  
  2038. <div class="commands">
  2039.  
  2040. <a href="#" onclick="return varToggle(this, '140510397145416')"><span>&#x25b6;</span> Local vars</a>
  2041.  
  2042. </div>
  2043. <table class="vars" id="v140510397145416">
  2044. <thead>
  2045. <tr>
  2046. <th>Variable</th>
  2047. <th>Value</th>
  2048. </tr>
  2049. </thead>
  2050. <tbody>
  2051.  
  2052. <tr>
  2053. <td>args</td>
  2054. <td class="code"><pre>()</pre></td>
  2055. </tr>
  2056.  
  2057. <tr>
  2058. <td>handler</td>
  2059. <td class="code"><pre>&lt;bound method CreateModelMixin.create of &lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;&gt;</pre></td>
  2060. </tr>
  2061.  
  2062. <tr>
  2063. <td>kwargs</td>
  2064. <td class="code"><pre>{}</pre></td>
  2065. </tr>
  2066.  
  2067. <tr>
  2068. <td>request</td>
  2069. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fcb2058bf98&gt;</pre></td>
  2070. </tr>
  2071.  
  2072. <tr>
  2073. <td>self</td>
  2074. <td class="code"><pre>&lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;</pre></td>
  2075. </tr>
  2076.  
  2077. </tbody>
  2078. </table>
  2079.  
  2080. </li>
  2081.  
  2082.  
  2083. <li class="frame user">
  2084. <code>/usr/local/lib/python3.5/site-packages/rest_framework/views.py</code> in <code>handle_exception</code>
  2085.  
  2086.  
  2087. <div class="context" id="c140510396659016">
  2088.  
  2089. <ol start="444" class="pre-context" id="pre140510396659016">
  2090.  
  2091. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre></pre></li>
  2092.  
  2093. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> context = self.get_exception_handler_context()</pre></li>
  2094.  
  2095. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> response = exception_handler(exc, context)</pre></li>
  2096.  
  2097. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre></pre></li>
  2098.  
  2099. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> if response is None:</pre></li>
  2100.  
  2101. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> self.raise_uncaught_exception(exc)</pre></li>
  2102.  
  2103. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre></pre></li>
  2104.  
  2105. </ol>
  2106.  
  2107. <ol start="451" class="context-line">
  2108. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre>
  2109. response.exception = True</pre> <span>...</span></li></ol>
  2110.  
  2111. <ol start='452' class="post-context" id="post140510396659016">
  2112.  
  2113. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> return response</pre></li>
  2114.  
  2115. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre></pre></li>
  2116.  
  2117. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> def raise_uncaught_exception(self, exc):</pre></li>
  2118.  
  2119. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> if settings.DEBUG:</pre></li>
  2120.  
  2121. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> request = self.request</pre></li>
  2122.  
  2123. <li onclick="toggle('pre140510396659016', 'post140510396659016')"><pre> renderer_format = getattr(request.accepted_renderer, &#39;format&#39;)</pre></li>
  2124.  
  2125. </ol>
  2126.  
  2127. </div>
  2128.  
  2129.  
  2130.  
  2131. <div class="commands">
  2132.  
  2133. <a href="#" onclick="return varToggle(this, '140510396659016')"><span>&#x25b6;</span> Local vars</a>
  2134.  
  2135. </div>
  2136. <table class="vars" id="v140510396659016">
  2137. <thead>
  2138. <tr>
  2139. <th>Variable</th>
  2140. <th>Value</th>
  2141. </tr>
  2142. </thead>
  2143. <tbody>
  2144.  
  2145. <tr>
  2146. <td>context</td>
  2147. <td class="code"><pre>{&#39;args&#39;: (),
  2148. &#39;kwargs&#39;: {},
  2149. &#39;request&#39;: &lt;rest_framework.request.Request object at 0x7fcb2058bf98&gt;,
  2150. &#39;view&#39;: &lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;}</pre></td>
  2151. </tr>
  2152.  
  2153. <tr>
  2154. <td>exc</td>
  2155. <td class="code"><pre>AttributeError(&quot;&#39;NoneType&#39; object has no attribute &#39;total_views&#39;&quot;,)</pre></td>
  2156. </tr>
  2157.  
  2158. <tr>
  2159. <td>exception_handler</td>
  2160. <td class="code"><pre>&lt;function custom_exception_handler at 0x7fcb20590488&gt;</pre></td>
  2161. </tr>
  2162.  
  2163. <tr>
  2164. <td>response</td>
  2165. <td class="code"><pre>{&#39;errors&#39;: []}</pre></td>
  2166. </tr>
  2167.  
  2168. <tr>
  2169. <td>self</td>
  2170. <td class="code"><pre>&lt;files.views.ProjectFileView object at 0x7fcb2058b518&gt;</pre></td>
  2171. </tr>
  2172.  
  2173. </tbody>
  2174. </table>
  2175.  
  2176. </li>
  2177.  
  2178. </ul>
  2179. </div>
  2180.  
  2181. <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
  2182.  
  2183. <div id="pastebinTraceback" class="pastebin">
  2184. <input type="hidden" name="language" value="PythonConsole">
  2185. <input type="hidden" name="title"
  2186. value="AttributeError at /api/v1/files/">
  2187. <input type="hidden" name="source" value="Django Dpaste Agent">
  2188. <input type="hidden" name="poster" value="Django">
  2189. <textarea name="content" id="traceback_area" cols="140" rows="25">
  2190. Environment:
  2191.  
  2192.  
  2193. Request Method: POST
  2194. Request URL: http://phuketon.dvhs.pro/api/v1/files/
  2195.  
  2196. Django Version: 1.11
  2197. Python Version: 3.5.4
  2198. Installed Applications:
  2199. (&#39;django.contrib.auth&#39;,
  2200. &#39;django.contrib.contenttypes&#39;,
  2201. &#39;django.contrib.sessions&#39;,
  2202. &#39;django.contrib.messages&#39;,
  2203. &#39;django.contrib.staticfiles&#39;,
  2204. &#39;django.contrib.sites&#39;,
  2205. &#39;django.contrib.sitemaps&#39;,
  2206. &#39;django.contrib.gis&#39;,
  2207. &#39;django.forms&#39;,
  2208. &#39;viewflow.frontend&#39;,
  2209. &#39;viewflow&#39;,
  2210. &#39;mptt&#39;,
  2211. &#39;material.theme.amber&#39;,
  2212. &#39;material&#39;,
  2213. &#39;material.frontend&#39;,
  2214. &#39;material.admin&#39;,
  2215. &#39;admin_view_permission&#39;,
  2216. &#39;django.contrib.admin&#39;,
  2217. &#39;corsheaders&#39;,
  2218. &#39;django_twilio&#39;,
  2219. &#39;push_notifications&#39;,
  2220. &#39;rest_framework&#39;,
  2221. &#39;rest_framework.authtoken&#39;,
  2222. &#39;rest_auth&#39;,
  2223. &#39;rest_auth.registration&#39;,
  2224. &#39;sorl.thumbnail&#39;,
  2225. &#39;datetimewidget&#39;,
  2226. &#39;adminsortable2&#39;,
  2227. &#39;channels&#39;,
  2228. &#39;channels_api&#39;,
  2229. &#39;expander&#39;,
  2230. &#39;multiselectfield&#39;,
  2231. &#39;django_filters&#39;,
  2232. &#39;sekizai&#39;,
  2233. &#39;meta&#39;,
  2234. &#39;star_ratings&#39;,
  2235. &#39;core&#39;,
  2236. &#39;files&#39;,
  2237. &#39;authentication&#39;,
  2238. &#39;users&#39;,
  2239. &#39;pages&#39;,
  2240. &#39;exchange_rates&#39;,
  2241. &#39;categories&#39;,
  2242. &#39;advertise&#39;,
  2243. &#39;articles&#39;,
  2244. &#39;forum&#39;,
  2245. &#39;chat&#39;,
  2246. &#39;weather&#39;,
  2247. &#39;blacklists&#39;,
  2248. &#39;dating&#39;,
  2249. &#39;maps&#39;,
  2250. &#39;gunicorn&#39;,
  2251. &#39;rest_framework_swagger&#39;)
  2252. Installed Middleware:
  2253. (&#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,
  2254. &#39;corsheaders.middleware.CorsMiddleware&#39;,
  2255. &#39;django.middleware.common.CommonMiddleware&#39;,
  2256. &#39;django.middleware.csrf.CsrfViewMiddleware&#39;,
  2257. &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,
  2258. &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,
  2259. &#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;,
  2260. &#39;django.middleware.security.SecurityMiddleware&#39;,
  2261. &#39;django.middleware.locale.LocaleMiddleware&#39;,
  2262. &#39;core.middleware.ActiveUserMiddleware&#39;,
  2263. &#39;material.frontend.middleware.SmoothNavigationMiddleware&#39;)
  2264.  
  2265.  
  2266.  
  2267. Traceback:
  2268.  
  2269. File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
  2270. 486. response = handler(request, *args, **kwargs)
  2271.  
  2272. File "/usr/local/lib/python3.5/site-packages/rest_framework/mixins.py" in create
  2273. 21. self.perform_create(serializer)
  2274.  
  2275. File "/usr/local/lib/python3.5/site-packages/rest_framework/mixins.py" in perform_create
  2276. 26. serializer.save()
  2277.  
  2278. File "/usr/local/lib/python3.5/site-packages/rest_framework/serializers.py" in save
  2279. 214. self.instance = self.create(validated_data)
  2280.  
  2281. File "/usr/local/lib/python3.5/site-packages/rest_framework/serializers.py" in create
  2282. 913. instance = ModelClass.objects.create(**validated_data)
  2283.  
  2284. File "/usr/local/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
  2285. 85. return getattr(self.get_queryset(), name)(*args, **kwargs)
  2286.  
  2287. File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py" in create
  2288. 393. obj.save(force_insert=True, using=self.db)
  2289.  
  2290. File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py" in save
  2291. 806. force_update=force_update, update_fields=update_fields)
  2292.  
  2293. File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py" in save_base
  2294. 846. update_fields=update_fields, raw=raw, using=using,
  2295.  
  2296. File "/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py" in send
  2297. 193. for receiver in self._live_receivers(sender)
  2298.  
  2299. File "/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py" in &lt;listcomp&gt;
  2300. 193. for receiver in self._live_receivers(sender)
  2301.  
  2302. File "/app/files/signals.py" in calculate_total_likes_views
  2303. 22. member.total_views = total.get(&#39;total_views&#39;)
  2304.  
  2305. During handling of the above exception (&#39;NoneType&#39; object has no attribute &#39;total_views&#39;), another exception occurred:
  2306.  
  2307. File "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  2308. 41. response = get_response(request)
  2309.  
  2310. File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _legacy_get_response
  2311. 249. response = self._get_response(request)
  2312.  
  2313. File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  2314. 187. response = self.process_exception_by_middleware(e, request)
  2315.  
  2316. File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  2317. 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
  2318.  
  2319. File "/usr/local/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
  2320. 58. return view_func(*args, **kwargs)
  2321.  
  2322. File "/usr/local/lib/python3.5/site-packages/rest_framework/viewsets.py" in view
  2323. 90. return self.dispatch(request, *args, **kwargs)
  2324.  
  2325. File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
  2326. 489. response = self.handle_exception(exc)
  2327.  
  2328. File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
  2329. 451. response.exception = True
  2330.  
  2331. Exception Type: AttributeError at /api/v1/files/
  2332. Exception Value: &#39;dict&#39; object has no attribute &#39;exception&#39;
  2333. </textarea>
  2334. <br><br>
  2335. <input type="submit" value="Share this traceback on a public website">
  2336. </div>
  2337. </form>
  2338. </div>
  2339.  
  2340.  
  2341.  
  2342. <div id="requestinfo">
  2343. <h2>Request information</h2>
  2344.  
  2345.  
  2346.  
  2347. <h3 id="user-info">USER</h3>
  2348. <p>TTT</p>
  2349.  
  2350.  
  2351. <h3 id="get-info">GET</h3>
  2352.  
  2353. <p>No GET data</p>
  2354.  
  2355.  
  2356. <h3 id="post-info">POST</h3>
  2357.  
  2358. <table class="req">
  2359. <thead>
  2360. <tr>
  2361. <th>Variable</th>
  2362. <th>Value</th>
  2363. </tr>
  2364. </thead>
  2365. <tbody>
  2366.  
  2367. </tbody>
  2368. </table>
  2369.  
  2370. <h3 id="files-info">FILES</h3>
  2371.  
  2372. <p>No FILES data</p>
  2373.  
  2374.  
  2375.  
  2376. <h3 id="cookie-info">COOKIES</h3>
  2377.  
  2378. <p>No cookie data</p>
  2379.  
  2380.  
  2381. <h3 id="meta-info">META</h3>
  2382. <table class="req">
  2383. <thead>
  2384. <tr>
  2385. <th>Variable</th>
  2386. <th>Value</th>
  2387. </tr>
  2388. </thead>
  2389. <tbody>
  2390.  
  2391. <tr>
  2392. <td>CONTENT_LENGTH</td>
  2393. <td class="code"><pre>&#39;250581&#39;</pre></td>
  2394. </tr>
  2395.  
  2396. <tr>
  2397. <td>CONTENT_TYPE</td>
  2398. <td class="code"><pre>&#39;multipart/form-data; boundary=alamofire.boundary.6046031b86323bd0&#39;</pre></td>
  2399. </tr>
  2400.  
  2401. <tr>
  2402. <td>HTTP_ACCEPT</td>
  2403. <td class="code"><pre>&#39;*/*&#39;</pre></td>
  2404. </tr>
  2405.  
  2406. <tr>
  2407. <td>HTTP_ACCEPT_ENCODING</td>
  2408. <td class="code"><pre>&#39;gzip;q=1.0, compress;q=0.5&#39;</pre></td>
  2409. </tr>
  2410.  
  2411. <tr>
  2412. <td>HTTP_ACCEPT_LANGUAGE</td>
  2413. <td class="code"><pre>&#39;en;q=1.0, ru-RU;q=0.9&#39;</pre></td>
  2414. </tr>
  2415.  
  2416. <tr>
  2417. <td>HTTP_AUTHORIZATION</td>
  2418. <td class="code"><pre>&#39;Token 2f3df87a3f101959fe4ce7ccbf4f088e5528914e&#39;</pre></td>
  2419. </tr>
  2420.  
  2421. <tr>
  2422. <td>HTTP_CONNECTION</td>
  2423. <td class="code"><pre>&#39;close&#39;</pre></td>
  2424. </tr>
  2425.  
  2426. <tr>
  2427. <td>HTTP_HOST</td>
  2428. <td class="code"><pre>&#39;phuketon.dvhs.pro&#39;</pre></td>
  2429. </tr>
  2430.  
  2431. <tr>
  2432. <td>HTTP_USER_AGENT</td>
  2433. <td class="code"><pre>&#39;PhuketON/1.0 (com.NGSE.PhuketON; build:1; iOS 11.2.0) Alamofire/4.6.0&#39;</pre></td>
  2434. </tr>
  2435.  
  2436. <tr>
  2437. <td>HTTP_X_FORWARDED_FOR</td>
  2438. <td class="code"><pre>&#39;178.238.43.77, 172.17.0.7&#39;</pre></td>
  2439. </tr>
  2440.  
  2441. <tr>
  2442. <td>HTTP_X_FORWARDED_PORT</td>
  2443. <td class="code"><pre>&#39;80&#39;</pre></td>
  2444. </tr>
  2445.  
  2446. <tr>
  2447. <td>HTTP_X_FORWARDED_PROTO</td>
  2448. <td class="code"><pre>&#39;http&#39;</pre></td>
  2449. </tr>
  2450.  
  2451. <tr>
  2452. <td>HTTP_X_FORWARDED_SSL</td>
  2453. <td class="code"><pre>&#39;off&#39;</pre></td>
  2454. </tr>
  2455.  
  2456. <tr>
  2457. <td>HTTP_X_REAL_IP</td>
  2458. <td class="code"><pre>&#39;178.238.43.77&#39;</pre></td>
  2459. </tr>
  2460.  
  2461. <tr>
  2462. <td>PATH_INFO</td>
  2463. <td class="code"><pre>&#39;/api/v1/files/&#39;</pre></td>
  2464. </tr>
  2465.  
  2466. <tr>
  2467. <td>QUERY_STRING</td>
  2468. <td class="code"><pre>&#39;&#39;</pre></td>
  2469. </tr>
  2470.  
  2471. <tr>
  2472. <td>RAW_URI</td>
  2473. <td class="code"><pre>&#39;/api/v1/files/&#39;</pre></td>
  2474. </tr>
  2475.  
  2476. <tr>
  2477. <td>REMOTE_ADDR</td>
  2478. <td class="code"><pre>&#39;172.17.0.24&#39;</pre></td>
  2479. </tr>
  2480.  
  2481. <tr>
  2482. <td>REMOTE_PORT</td>
  2483. <td class="code"><pre>&#39;52892&#39;</pre></td>
  2484. </tr>
  2485.  
  2486. <tr>
  2487. <td>REQUEST_METHOD</td>
  2488. <td class="code"><pre>&#39;POST&#39;</pre></td>
  2489. </tr>
  2490.  
  2491. <tr>
  2492. <td>SCRIPT_NAME</td>
  2493. <td class="code"><pre>&#39;&#39;</pre></td>
  2494. </tr>
  2495.  
  2496. <tr>
  2497. <td>SERVER_NAME</td>
  2498. <td class="code"><pre>&#39;0.0.0.0&#39;</pre></td>
  2499. </tr>
  2500.  
  2501. <tr>
  2502. <td>SERVER_PORT</td>
  2503. <td class="code"><pre>&#39;5000&#39;</pre></td>
  2504. </tr>
  2505.  
  2506. <tr>
  2507. <td>SERVER_PROTOCOL</td>
  2508. <td class="code"><pre>&#39;HTTP/1.0&#39;</pre></td>
  2509. </tr>
  2510.  
  2511. <tr>
  2512. <td>SERVER_SOFTWARE</td>
  2513. <td class="code"><pre>&#39;gunicorn/19.6.0&#39;</pre></td>
  2514. </tr>
  2515.  
  2516. <tr>
  2517. <td>gunicorn.socket</td>
  2518. <td class="code"><pre>&lt;socket.socket fd=13, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=(&#39;172.17.0.15&#39;, 5000), raddr=(&#39;172.17.0.24&#39;, 52892)&gt;</pre></td>
  2519. </tr>
  2520.  
  2521. <tr>
  2522. <td>wsgi.errors</td>
  2523. <td class="code"><pre>&lt;gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fcb2058b6a0&gt;</pre></td>
  2524. </tr>
  2525.  
  2526. <tr>
  2527. <td>wsgi.file_wrapper</td>
  2528. <td class="code"><pre>&#39;&#39;</pre></td>
  2529. </tr>
  2530.  
  2531. <tr>
  2532. <td>wsgi.input</td>
  2533. <td class="code"><pre>&lt;gunicorn.http.body.Body object at 0x7fcb2058bf60&gt;</pre></td>
  2534. </tr>
  2535.  
  2536. <tr>
  2537. <td>wsgi.multiprocess</td>
  2538. <td class="code"><pre>True</pre></td>
  2539. </tr>
  2540.  
  2541. <tr>
  2542. <td>wsgi.multithread</td>
  2543. <td class="code"><pre>False</pre></td>
  2544. </tr>
  2545.  
  2546. <tr>
  2547. <td>wsgi.run_once</td>
  2548. <td class="code"><pre>False</pre></td>
  2549. </tr>
  2550.  
  2551. <tr>
  2552. <td>wsgi.url_scheme</td>
  2553. <td class="code"><pre>&#39;http&#39;</pre></td>
  2554. </tr>
  2555.  
  2556. <tr>
  2557. <td>wsgi.version</td>
  2558. <td class="code"><pre>(1, 0)</pre></td>
  2559. </tr>
  2560.  
  2561. </tbody>
  2562. </table>
  2563.  
  2564.  
  2565. <h3 id="settings-info">Settings</h3>
  2566. <h4>Using settings module <code>config</code></h4>
  2567. <table class="req">
  2568. <thead>
  2569. <tr>
  2570. <th>Setting</th>
  2571. <th>Value</th>
  2572. </tr>
  2573. </thead>
  2574. <tbody>
  2575.  
  2576. <tr>
  2577. <td>ABSOLUTE_URL_OVERRIDES</td>
  2578. <td class="code"><pre>{}</pre></td>
  2579. </tr>
  2580.  
  2581. <tr>
  2582. <td>ADMINS</td>
  2583. <td class="code"><pre>((&#39;Author&#39;, &#39;sahalin.test@gmail.com&#39;),)</pre></td>
  2584. </tr>
  2585.  
  2586. <tr>
  2587. <td>ALLOWED_HOSTS</td>
  2588. <td class="code"><pre>[&#39;*&#39;]</pre></td>
  2589. </tr>
  2590.  
  2591. <tr>
  2592. <td>APPEND_SLASH</td>
  2593. <td class="code"><pre>True</pre></td>
  2594. </tr>
  2595.  
  2596. <tr>
  2597. <td>APP_GROUP_PERMISSIONS</td>
  2598. <td class="code"><pre>{&#39;events_calendar&#39;: [&#39;is_food_truck_admin&#39;, &#39;is_company_admin&#39;]}</pre></td>
  2599. </tr>
  2600.  
  2601. <tr>
  2602. <td>AUTHENTICATION_BACKENDS</td>
  2603. <td class="code"><pre>(&#39;config.auth_backend.PasswordlessAuthBackend&#39;,)</pre></td>
  2604. </tr>
  2605.  
  2606. <tr>
  2607. <td>AUTH_PASSWORD_VALIDATORS</td>
  2608. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2609. </tr>
  2610.  
  2611. <tr>
  2612. <td>AUTH_USER_MODEL</td>
  2613. <td class="code"><pre>&#39;users.User&#39;</pre></td>
  2614. </tr>
  2615.  
  2616. <tr>
  2617. <td>AWS_HEADERS</td>
  2618. <td class="code"><pre>{&#39;Cache-Control&#39;: &#39;max-age=86400, s-maxage=86400, must-revalidate&#39;}</pre></td>
  2619. </tr>
  2620.  
  2621. <tr>
  2622. <td>BOSS_EMAIL</td>
  2623. <td class="code"><pre>&#39;sahalin.test@gmail.com&#39;</pre></td>
  2624. </tr>
  2625.  
  2626. <tr>
  2627. <td>BROKER_URL</td>
  2628. <td class="code"><pre>&#39;amqp://guest:guest@rabbitmq:5672//&#39;</pre></td>
  2629. </tr>
  2630.  
  2631. <tr>
  2632. <td>BUILDING_MANAGER</td>
  2633. <td class="code"><pre>&#39;building_manager&#39;</pre></td>
  2634. </tr>
  2635.  
  2636. <tr>
  2637. <td>CACHES</td>
  2638. <td class="code"><pre>{&#39;default&#39;: {&#39;BACKEND&#39;: &#39;redis_cache.RedisCache&#39;,
  2639. &#39;LOCATION&#39;: &#39;phuketon_redis:6379&#39;,
  2640. &#39;OPTIONS&#39;: {&#39;CONNECTION_POOL_CLASS&#39;: &#39;redis.BlockingConnectionPool&#39;,
  2641. &#39;CONNECTION_POOL_CLASS_KWARGS&#39;: {&#39;max_connections&#39;: 50,
  2642. &#39;timeout&#39;: 20},
  2643. &#39;DB&#39;: 0,
  2644. &#39;PARSER_CLASS&#39;: &#39;redis.connection.HiredisParser&#39;,
  2645. &#39;PASSWORD&#39;: &#39;********************&#39;}}}</pre></td>
  2646. </tr>
  2647.  
  2648. <tr>
  2649. <td>CACHE_MIDDLEWARE_ALIAS</td>
  2650. <td class="code"><pre>&#39;default&#39;</pre></td>
  2651. </tr>
  2652.  
  2653. <tr>
  2654. <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
  2655. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2656. </tr>
  2657.  
  2658. <tr>
  2659. <td>CACHE_MIDDLEWARE_SECONDS</td>
  2660. <td class="code"><pre>600</pre></td>
  2661. </tr>
  2662.  
  2663. <tr>
  2664. <td>CELERY_ACCEPT_CONTENT</td>
  2665. <td class="code"><pre>[&#39;json&#39;]</pre></td>
  2666. </tr>
  2667.  
  2668. <tr>
  2669. <td>CELERY_IMPORTS</td>
  2670. <td class="code"><pre>(&#39;config.tasks&#39;,)</pre></td>
  2671. </tr>
  2672.  
  2673. <tr>
  2674. <td>CELERY_RESULT_BACKEND</td>
  2675. <td class="code"><pre>&#39;amqp&#39;</pre></td>
  2676. </tr>
  2677.  
  2678. <tr>
  2679. <td>CELERY_RESULT_SERIALIZER</td>
  2680. <td class="code"><pre>&#39;json&#39;</pre></td>
  2681. </tr>
  2682.  
  2683. <tr>
  2684. <td>CELERY_TASK_SERIALIZER</td>
  2685. <td class="code"><pre>&#39;json&#39;</pre></td>
  2686. </tr>
  2687.  
  2688. <tr>
  2689. <td>CHANNELS_API</td>
  2690. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2691. </tr>
  2692.  
  2693. <tr>
  2694. <td>COMPANY_ADMIN</td>
  2695. <td class="code"><pre>&#39;company_admin&#39;</pre></td>
  2696. </tr>
  2697.  
  2698. <tr>
  2699. <td>CONFIGURATION</td>
  2700. <td class="code"><pre>&#39;config.Production&#39;</pre></td>
  2701. </tr>
  2702.  
  2703. <tr>
  2704. <td>CORS_ALLOW_CREDENTIALS</td>
  2705. <td class="code"><pre>True</pre></td>
  2706. </tr>
  2707.  
  2708. <tr>
  2709. <td>CORS_ORIGIN_ALLOW_ALL</td>
  2710. <td class="code"><pre>True</pre></td>
  2711. </tr>
  2712.  
  2713. <tr>
  2714. <td>CSRF_COOKIE_AGE</td>
  2715. <td class="code"><pre>31449600</pre></td>
  2716. </tr>
  2717.  
  2718. <tr>
  2719. <td>CSRF_COOKIE_DOMAIN</td>
  2720. <td class="code"><pre>None</pre></td>
  2721. </tr>
  2722.  
  2723. <tr>
  2724. <td>CSRF_COOKIE_HTTPONLY</td>
  2725. <td class="code"><pre>False</pre></td>
  2726. </tr>
  2727.  
  2728. <tr>
  2729. <td>CSRF_COOKIE_NAME</td>
  2730. <td class="code"><pre>&#39;csrftoken&#39;</pre></td>
  2731. </tr>
  2732.  
  2733. <tr>
  2734. <td>CSRF_COOKIE_PATH</td>
  2735. <td class="code"><pre>&#39;/&#39;</pre></td>
  2736. </tr>
  2737.  
  2738. <tr>
  2739. <td>CSRF_COOKIE_SECURE</td>
  2740. <td class="code"><pre>False</pre></td>
  2741. </tr>
  2742.  
  2743. <tr>
  2744. <td>CSRF_FAILURE_VIEW</td>
  2745. <td class="code"><pre>&#39;django.views.csrf.csrf_failure&#39;</pre></td>
  2746. </tr>
  2747.  
  2748. <tr>
  2749. <td>CSRF_HEADER_NAME</td>
  2750. <td class="code"><pre>&#39;HTTP_X_CSRFTOKEN&#39;</pre></td>
  2751. </tr>
  2752.  
  2753. <tr>
  2754. <td>CSRF_TRUSTED_ORIGINS</td>
  2755. <td class="code"><pre>[]</pre></td>
  2756. </tr>
  2757.  
  2758. <tr>
  2759. <td>CSRF_USE_SESSIONS</td>
  2760. <td class="code"><pre>False</pre></td>
  2761. </tr>
  2762.  
  2763. <tr>
  2764. <td>CUSTOMER</td>
  2765. <td class="code"><pre>&#39;customer&#39;</pre></td>
  2766. </tr>
  2767.  
  2768. <tr>
  2769. <td>DATABASES</td>
  2770. <td class="code"><pre>{&#39;default&#39;: {&#39;ATOMIC_REQUESTS&#39;: False,
  2771. &#39;AUTOCOMMIT&#39;: True,
  2772. &#39;CONN_MAX_AGE&#39;: 0,
  2773. &#39;ENGINE&#39;: &#39;django.contrib.gis.db.backends.postgis&#39;,
  2774. &#39;HOST&#39;: &#39;db&#39;,
  2775. &#39;NAME&#39;: &#39;phuketon&#39;,
  2776. &#39;OPTIONS&#39;: {},
  2777. &#39;PASSWORD&#39;: &#39;********************&#39;,
  2778. &#39;PORT&#39;: &#39;5432&#39;,
  2779. &#39;TEST&#39;: {&#39;CHARSET&#39;: None,
  2780. &#39;COLLATION&#39;: None,
  2781. &#39;MIRROR&#39;: None,
  2782. &#39;NAME&#39;: None},
  2783. &#39;TIME_ZONE&#39;: None,
  2784. &#39;USER&#39;: &#39;root&#39;}}</pre></td>
  2785. </tr>
  2786.  
  2787. <tr>
  2788. <td>DATABASE_ROUTERS</td>
  2789. <td class="code"><pre>[]</pre></td>
  2790. </tr>
  2791.  
  2792. <tr>
  2793. <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
  2794. <td class="code"><pre>2621440</pre></td>
  2795. </tr>
  2796.  
  2797. <tr>
  2798. <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
  2799. <td class="code"><pre>1000</pre></td>
  2800. </tr>
  2801.  
  2802. <tr>
  2803. <td>DATETIME_FORMAT</td>
  2804. <td class="code"><pre>&#39;N j, Y, P&#39;</pre></td>
  2805. </tr>
  2806.  
  2807. <tr>
  2808. <td>DATETIME_INPUT_FORMATS</td>
  2809. <td class="code"><pre>[&#39;%Y-%m-%d %H:%M:%S&#39;,
  2810. &#39;%Y-%m-%d %H:%M:%S.%f&#39;,
  2811. &#39;%Y-%m-%d %H:%M&#39;,
  2812. &#39;%Y-%m-%d&#39;,
  2813. &#39;%m/%d/%Y %H:%M:%S&#39;,
  2814. &#39;%m/%d/%Y %H:%M:%S.%f&#39;,
  2815. &#39;%m/%d/%Y %H:%M&#39;,
  2816. &#39;%m/%d/%Y&#39;,
  2817. &#39;%m/%d/%y %H:%M:%S&#39;,
  2818. &#39;%m/%d/%y %H:%M:%S.%f&#39;,
  2819. &#39;%m/%d/%y %H:%M&#39;,
  2820. &#39;%m/%d/%y&#39;]</pre></td>
  2821. </tr>
  2822.  
  2823. <tr>
  2824. <td>DATE_FORMAT</td>
  2825. <td class="code"><pre>&#39;N j, Y&#39;</pre></td>
  2826. </tr>
  2827.  
  2828. <tr>
  2829. <td>DATE_INPUT_FORMATS</td>
  2830. <td class="code"><pre>[&#39;%Y-%m-%d&#39;,
  2831. &#39;%m/%d/%Y&#39;,
  2832. &#39;%m/%d/%y&#39;,
  2833. &#39;%b %d %Y&#39;,
  2834. &#39;%b %d, %Y&#39;,
  2835. &#39;%d %b %Y&#39;,
  2836. &#39;%d %b, %Y&#39;,
  2837. &#39;%B %d %Y&#39;,
  2838. &#39;%B %d, %Y&#39;,
  2839. &#39;%d %B %Y&#39;,
  2840. &#39;%d %B, %Y&#39;]</pre></td>
  2841. </tr>
  2842.  
  2843. <tr>
  2844. <td>DEBUG</td>
  2845. <td class="code"><pre>&#39;1&#39;</pre></td>
  2846. </tr>
  2847.  
  2848. <tr>
  2849. <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
  2850. <td class="code"><pre>False</pre></td>
  2851. </tr>
  2852.  
  2853. <tr>
  2854. <td>DECIMAL_SEPARATOR</td>
  2855. <td class="code"><pre>&#39;.&#39;</pre></td>
  2856. </tr>
  2857.  
  2858. <tr>
  2859. <td>DEFAULT_CHARSET</td>
  2860. <td class="code"><pre>&#39;utf-8&#39;</pre></td>
  2861. </tr>
  2862.  
  2863. <tr>
  2864. <td>DEFAULT_CONTENT_TYPE</td>
  2865. <td class="code"><pre>&#39;text/html&#39;</pre></td>
  2866. </tr>
  2867.  
  2868. <tr>
  2869. <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
  2870. <td class="code"><pre>&#39;django.views.debug.SafeExceptionReporterFilter&#39;</pre></td>
  2871. </tr>
  2872.  
  2873. <tr>
  2874. <td>DEFAULT_FILE_STORAGE</td>
  2875. <td class="code"><pre>&#39;django.core.files.storage.FileSystemStorage&#39;</pre></td>
  2876. </tr>
  2877.  
  2878. <tr>
  2879. <td>DEFAULT_FROM_EMAIL</td>
  2880. <td class="code"><pre>&#39;sahalin.test@gmail.com&#39;</pre></td>
  2881. </tr>
  2882.  
  2883. <tr>
  2884. <td>DEFAULT_INDEX_TABLESPACE</td>
  2885. <td class="code"><pre>&#39;&#39;</pre></td>
  2886. </tr>
  2887.  
  2888. <tr>
  2889. <td>DEFAULT_TABLESPACE</td>
  2890. <td class="code"><pre>&#39;&#39;</pre></td>
  2891. </tr>
  2892.  
  2893. <tr>
  2894. <td>DISALLOWED_USER_AGENTS</td>
  2895. <td class="code"><pre>[]</pre></td>
  2896. </tr>
  2897.  
  2898. <tr>
  2899. <td>DOTENV_LOADED</td>
  2900. <td class="code"><pre>None</pre></td>
  2901. </tr>
  2902.  
  2903. <tr>
  2904. <td>EMAIL_BACKEND</td>
  2905. <td class="code"><pre>&#39;django.core.mail.backends.smtp.EmailBackend&#39;</pre></td>
  2906. </tr>
  2907.  
  2908. <tr>
  2909. <td>EMAIL_HOST</td>
  2910. <td class="code"><pre>&#39;smtp.gmail.com&#39;</pre></td>
  2911. </tr>
  2912.  
  2913. <tr>
  2914. <td>EMAIL_HOST_PASSWORD</td>
  2915. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2916. </tr>
  2917.  
  2918. <tr>
  2919. <td>EMAIL_HOST_USER</td>
  2920. <td class="code"><pre>&#39;sahalin.test@gmail.com&#39;</pre></td>
  2921. </tr>
  2922.  
  2923. <tr>
  2924. <td>EMAIL_PORT</td>
  2925. <td class="code"><pre>587</pre></td>
  2926. </tr>
  2927.  
  2928. <tr>
  2929. <td>EMAIL_SSL_CERTFILE</td>
  2930. <td class="code"><pre>None</pre></td>
  2931. </tr>
  2932.  
  2933. <tr>
  2934. <td>EMAIL_SSL_KEYFILE</td>
  2935. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2936. </tr>
  2937.  
  2938. <tr>
  2939. <td>EMAIL_SUBJECT_PREFIX</td>
  2940. <td class="code"><pre>&#39;[Django] &#39;</pre></td>
  2941. </tr>
  2942.  
  2943. <tr>
  2944. <td>EMAIL_TIMEOUT</td>
  2945. <td class="code"><pre>None</pre></td>
  2946. </tr>
  2947.  
  2948. <tr>
  2949. <td>EMAIL_USE_LOCALTIME</td>
  2950. <td class="code"><pre>False</pre></td>
  2951. </tr>
  2952.  
  2953. <tr>
  2954. <td>EMAIL_USE_SSL</td>
  2955. <td class="code"><pre>False</pre></td>
  2956. </tr>
  2957.  
  2958. <tr>
  2959. <td>EMAIL_USE_TLS</td>
  2960. <td class="code"><pre>True</pre></td>
  2961. </tr>
  2962.  
  2963. <tr>
  2964. <td>FILE_CHARSET</td>
  2965. <td class="code"><pre>&#39;utf-8&#39;</pre></td>
  2966. </tr>
  2967.  
  2968. <tr>
  2969. <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
  2970. <td class="code"><pre>None</pre></td>
  2971. </tr>
  2972.  
  2973. <tr>
  2974. <td>FILE_UPLOAD_HANDLERS</td>
  2975. <td class="code"><pre>[&#39;django.core.files.uploadhandler.MemoryFileUploadHandler&#39;,
  2976. &#39;django.core.files.uploadhandler.TemporaryFileUploadHandler&#39;]</pre></td>
  2977. </tr>
  2978.  
  2979. <tr>
  2980. <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
  2981. <td class="code"><pre>5242880</pre></td>
  2982. </tr>
  2983.  
  2984. <tr>
  2985. <td>FILE_UPLOAD_PERMISSIONS</td>
  2986. <td class="code"><pre>None</pre></td>
  2987. </tr>
  2988.  
  2989. <tr>
  2990. <td>FILE_UPLOAD_TEMP_DIR</td>
  2991. <td class="code"><pre>None</pre></td>
  2992. </tr>
  2993.  
  2994. <tr>
  2995. <td>FIRST_DAY_OF_WEEK</td>
  2996. <td class="code"><pre>0</pre></td>
  2997. </tr>
  2998.  
  2999. <tr>
  3000. <td>FIXTURE_DIRS</td>
  3001. <td class="code"><pre>[&#39;fixtures&#39;]</pre></td>
  3002. </tr>
  3003.  
  3004. <tr>
  3005. <td>FOOD_TRUCK_ADMIN</td>
  3006. <td class="code"><pre>&#39;food_truck_admin&#39;</pre></td>
  3007. </tr>
  3008.  
  3009. <tr>
  3010. <td>FORCE_SCRIPT_NAME</td>
  3011. <td class="code"><pre>None</pre></td>
  3012. </tr>
  3013.  
  3014. <tr>
  3015. <td>FORMAT_MODULE_PATH</td>
  3016. <td class="code"><pre>None</pre></td>
  3017. </tr>
  3018.  
  3019. <tr>
  3020. <td>FORM_RENDERER</td>
  3021. <td class="code"><pre>&#39;django.forms.renderers.DjangoTemplates&#39;</pre></td>
  3022. </tr>
  3023.  
  3024. <tr>
  3025. <td>GEOLOCATION_MAP_DEFAULT</td>
  3026. <td class="code"><pre>{&#39;lat&#39;: 38.896614, &#39;lng&#39;: -77.036321}</pre></td>
  3027. </tr>
  3028.  
  3029. <tr>
  3030. <td>GOOGLE_API_KEY</td>
  3031. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3032. </tr>
  3033.  
  3034. <tr>
  3035. <td>HELP_TEXT</td>
  3036. <td class="code"><pre>{&#39;PHONE&#39;: &#39;Format: &lt;b&gt;111-222-3333&lt;/b&gt;&#39;}</pre></td>
  3037. </tr>
  3038.  
  3039. <tr>
  3040. <td>IGNORABLE_404_URLS</td>
  3041. <td class="code"><pre>[]</pre></td>
  3042. </tr>
  3043.  
  3044. <tr>
  3045. <td>INSTALLED_APPS</td>
  3046. <td class="code"><pre>(&#39;django.contrib.auth&#39;,
  3047. &#39;django.contrib.contenttypes&#39;,
  3048. &#39;django.contrib.sessions&#39;,
  3049. &#39;django.contrib.messages&#39;,
  3050. &#39;django.contrib.staticfiles&#39;,
  3051. &#39;django.contrib.sites&#39;,
  3052. &#39;django.contrib.sitemaps&#39;,
  3053. &#39;django.contrib.gis&#39;,
  3054. &#39;django.forms&#39;,
  3055. &#39;viewflow.frontend&#39;,
  3056. &#39;viewflow&#39;,
  3057. &#39;mptt&#39;,
  3058. &#39;material.theme.amber&#39;,
  3059. &#39;material&#39;,
  3060. &#39;material.frontend&#39;,
  3061. &#39;material.admin&#39;,
  3062. &#39;admin_view_permission&#39;,
  3063. &#39;django.contrib.admin&#39;,
  3064. &#39;corsheaders&#39;,
  3065. &#39;django_twilio&#39;,
  3066. &#39;push_notifications&#39;,
  3067. &#39;rest_framework&#39;,
  3068. &#39;rest_framework.authtoken&#39;,
  3069. &#39;rest_auth&#39;,
  3070. &#39;rest_auth.registration&#39;,
  3071. &#39;sorl.thumbnail&#39;,
  3072. &#39;datetimewidget&#39;,
  3073. &#39;adminsortable2&#39;,
  3074. &#39;channels&#39;,
  3075. &#39;channels_api&#39;,
  3076. &#39;expander&#39;,
  3077. &#39;multiselectfield&#39;,
  3078. &#39;django_filters&#39;,
  3079. &#39;sekizai&#39;,
  3080. &#39;meta&#39;,
  3081. &#39;star_ratings&#39;,
  3082. &#39;core&#39;,
  3083. &#39;files&#39;,
  3084. &#39;authentication&#39;,
  3085. &#39;users&#39;,
  3086. &#39;pages&#39;,
  3087. &#39;exchange_rates&#39;,
  3088. &#39;categories&#39;,
  3089. &#39;advertise&#39;,
  3090. &#39;articles&#39;,
  3091. &#39;forum&#39;,
  3092. &#39;chat&#39;,
  3093. &#39;weather&#39;,
  3094. &#39;blacklists&#39;,
  3095. &#39;dating&#39;,
  3096. &#39;maps&#39;,
  3097. &#39;gunicorn&#39;,
  3098. &#39;rest_framework_swagger&#39;)</pre></td>
  3099. </tr>
  3100.  
  3101. <tr>
  3102. <td>INTERNAL_IPS</td>
  3103. <td class="code"><pre>[]</pre></td>
  3104. </tr>
  3105.  
  3106. <tr>
  3107. <td>LANGUAGES</td>
  3108. <td class="code"><pre>[(&#39;af&#39;, &#39;Afrikaans&#39;),
  3109. (&#39;ar&#39;, &#39;Arabic&#39;),
  3110. (&#39;ast&#39;, &#39;Asturian&#39;),
  3111. (&#39;az&#39;, &#39;Azerbaijani&#39;),
  3112. (&#39;bg&#39;, &#39;Bulgarian&#39;),
  3113. (&#39;be&#39;, &#39;Belarusian&#39;),
  3114. (&#39;bn&#39;, &#39;Bengali&#39;),
  3115. (&#39;br&#39;, &#39;Breton&#39;),
  3116. (&#39;bs&#39;, &#39;Bosnian&#39;),
  3117. (&#39;ca&#39;, &#39;Catalan&#39;),
  3118. (&#39;cs&#39;, &#39;Czech&#39;),
  3119. (&#39;cy&#39;, &#39;Welsh&#39;),
  3120. (&#39;da&#39;, &#39;Danish&#39;),
  3121. (&#39;de&#39;, &#39;German&#39;),
  3122. (&#39;dsb&#39;, &#39;Lower Sorbian&#39;),
  3123. (&#39;el&#39;, &#39;Greek&#39;),
  3124. (&#39;en&#39;, &#39;English&#39;),
  3125. (&#39;en-au&#39;, &#39;Australian English&#39;),
  3126. (&#39;en-gb&#39;, &#39;British English&#39;),
  3127. (&#39;eo&#39;, &#39;Esperanto&#39;),
  3128. (&#39;es&#39;, &#39;Spanish&#39;),
  3129. (&#39;es-ar&#39;, &#39;Argentinian Spanish&#39;),
  3130. (&#39;es-co&#39;, &#39;Colombian Spanish&#39;),
  3131. (&#39;es-mx&#39;, &#39;Mexican Spanish&#39;),
  3132. (&#39;es-ni&#39;, &#39;Nicaraguan Spanish&#39;),
  3133. (&#39;es-ve&#39;, &#39;Venezuelan Spanish&#39;),
  3134. (&#39;et&#39;, &#39;Estonian&#39;),
  3135. (&#39;eu&#39;, &#39;Basque&#39;),
  3136. (&#39;fa&#39;, &#39;Persian&#39;),
  3137. (&#39;fi&#39;, &#39;Finnish&#39;),
  3138. (&#39;fr&#39;, &#39;French&#39;),
  3139. (&#39;fy&#39;, &#39;Frisian&#39;),
  3140. (&#39;ga&#39;, &#39;Irish&#39;),
  3141. (&#39;gd&#39;, &#39;Scottish Gaelic&#39;),
  3142. (&#39;gl&#39;, &#39;Galician&#39;),
  3143. (&#39;he&#39;, &#39;Hebrew&#39;),
  3144. (&#39;hi&#39;, &#39;Hindi&#39;),
  3145. (&#39;hr&#39;, &#39;Croatian&#39;),
  3146. (&#39;hsb&#39;, &#39;Upper Sorbian&#39;),
  3147. (&#39;hu&#39;, &#39;Hungarian&#39;),
  3148. (&#39;ia&#39;, &#39;Interlingua&#39;),
  3149. (&#39;id&#39;, &#39;Indonesian&#39;),
  3150. (&#39;io&#39;, &#39;Ido&#39;),
  3151. (&#39;is&#39;, &#39;Icelandic&#39;),
  3152. (&#39;it&#39;, &#39;Italian&#39;),
  3153. (&#39;ja&#39;, &#39;Japanese&#39;),
  3154. (&#39;ka&#39;, &#39;Georgian&#39;),
  3155. (&#39;kk&#39;, &#39;Kazakh&#39;),
  3156. (&#39;km&#39;, &#39;Khmer&#39;),
  3157. (&#39;kn&#39;, &#39;Kannada&#39;),
  3158. (&#39;ko&#39;, &#39;Korean&#39;),
  3159. (&#39;lb&#39;, &#39;Luxembourgish&#39;),
  3160. (&#39;lt&#39;, &#39;Lithuanian&#39;),
  3161. (&#39;lv&#39;, &#39;Latvian&#39;),
  3162. (&#39;mk&#39;, &#39;Macedonian&#39;),
  3163. (&#39;ml&#39;, &#39;Malayalam&#39;),
  3164. (&#39;mn&#39;, &#39;Mongolian&#39;),
  3165. (&#39;mr&#39;, &#39;Marathi&#39;),
  3166. (&#39;my&#39;, &#39;Burmese&#39;),
  3167. (&#39;nb&#39;, &#39;Norwegian Bokmål&#39;),
  3168. (&#39;ne&#39;, &#39;Nepali&#39;),
  3169. (&#39;nl&#39;, &#39;Dutch&#39;),
  3170. (&#39;nn&#39;, &#39;Norwegian Nynorsk&#39;),
  3171. (&#39;os&#39;, &#39;Ossetic&#39;),
  3172. (&#39;pa&#39;, &#39;Punjabi&#39;),
  3173. (&#39;pl&#39;, &#39;Polish&#39;),
  3174. (&#39;pt&#39;, &#39;Portuguese&#39;),
  3175. (&#39;pt-br&#39;, &#39;Brazilian Portuguese&#39;),
  3176. (&#39;ro&#39;, &#39;Romanian&#39;),
  3177. (&#39;ru&#39;, &#39;Russian&#39;),
  3178. (&#39;sk&#39;, &#39;Slovak&#39;),
  3179. (&#39;sl&#39;, &#39;Slovenian&#39;),
  3180. (&#39;sq&#39;, &#39;Albanian&#39;),
  3181. (&#39;sr&#39;, &#39;Serbian&#39;),
  3182. (&#39;sr-latn&#39;, &#39;Serbian Latin&#39;),
  3183. (&#39;sv&#39;, &#39;Swedish&#39;),
  3184. (&#39;sw&#39;, &#39;Swahili&#39;),
  3185. (&#39;ta&#39;, &#39;Tamil&#39;),
  3186. (&#39;te&#39;, &#39;Telugu&#39;),
  3187. (&#39;th&#39;, &#39;Thai&#39;),
  3188. (&#39;tr&#39;, &#39;Turkish&#39;),
  3189. (&#39;tt&#39;, &#39;Tatar&#39;),
  3190. (&#39;udm&#39;, &#39;Udmurt&#39;),
  3191. (&#39;uk&#39;, &#39;Ukrainian&#39;),
  3192. (&#39;ur&#39;, &#39;Urdu&#39;),
  3193. (&#39;vi&#39;, &#39;Vietnamese&#39;),
  3194. (&#39;zh-hans&#39;, &#39;Simplified Chinese&#39;),
  3195. (&#39;zh-hant&#39;, &#39;Traditional Chinese&#39;)]</pre></td>
  3196. </tr>
  3197.  
  3198. <tr>
  3199. <td>LANGUAGES_BIDI</td>
  3200. <td class="code"><pre>[&#39;he&#39;, &#39;ar&#39;, &#39;fa&#39;, &#39;ur&#39;]</pre></td>
  3201. </tr>
  3202.  
  3203. <tr>
  3204. <td>LANGUAGE_CODE</td>
  3205. <td class="code"><pre>&#39;ru&#39;</pre></td>
  3206. </tr>
  3207.  
  3208. <tr>
  3209. <td>LANGUAGE_COOKIE_AGE</td>
  3210. <td class="code"><pre>None</pre></td>
  3211. </tr>
  3212.  
  3213. <tr>
  3214. <td>LANGUAGE_COOKIE_DOMAIN</td>
  3215. <td class="code"><pre>None</pre></td>
  3216. </tr>
  3217.  
  3218. <tr>
  3219. <td>LANGUAGE_COOKIE_NAME</td>
  3220. <td class="code"><pre>&#39;django_language&#39;</pre></td>
  3221. </tr>
  3222.  
  3223. <tr>
  3224. <td>LANGUAGE_COOKIE_PATH</td>
  3225. <td class="code"><pre>&#39;/&#39;</pre></td>
  3226. </tr>
  3227.  
  3228. <tr>
  3229. <td>LOCALE_PATHS</td>
  3230. <td class="code"><pre>[&#39;/app/locale&#39;]</pre></td>
  3231. </tr>
  3232.  
  3233. <tr>
  3234. <td>LOGGING</td>
  3235. <td class="code"><pre>{&#39;disable_existing_loggers&#39;: False,
  3236. &#39;filters&#39;: {&#39;require_debug_true&#39;: {&#39;()&#39;: &#39;django.utils.log.RequireDebugTrue&#39;}},
  3237. &#39;formatters&#39;: {&#39;django.server&#39;: {&#39;()&#39;: &#39;django.utils.log.ServerFormatter&#39;,
  3238. &#39;format&#39;: &#39;[%(server_time)s] %(message)s&#39;},
  3239. &#39;simple&#39;: {&#39;format&#39;: &#39;%(levelname)s %(message)s&#39;},
  3240. &#39;verbose&#39;: {&#39;format&#39;: &#39;%(levelname)s %(asctime)s %(module)s &#39;
  3241. &#39;%(process)d %(thread)d %(message)s&#39;}},
  3242. &#39;handlers&#39;: {&#39;console&#39;: {&#39;class&#39;: &#39;logging.StreamHandler&#39;,
  3243. &#39;filters&#39;: [&#39;require_debug_true&#39;],
  3244. &#39;formatter&#39;: &#39;simple&#39;,
  3245. &#39;level&#39;: &#39;INFO&#39;},
  3246. &#39;django.server&#39;: {&#39;class&#39;: &#39;logging.StreamHandler&#39;,
  3247. &#39;formatter&#39;: &#39;django.server&#39;,
  3248. &#39;level&#39;: &#39;INFO&#39;},
  3249. &#39;file&#39;: {&#39;backupCount&#39;: 3,
  3250. &#39;class&#39;: &#39;logging.handlers.RotatingFileHandler&#39;,
  3251. &#39;filename&#39;: &#39;/app/logs/django.log&#39;,
  3252. &#39;formatter&#39;: &#39;verbose&#39;,
  3253. &#39;maxBytes&#39;: 1024000},
  3254. &#39;mail_admins&#39;: {&#39;class&#39;: &#39;django.utils.log.AdminEmailHandler&#39;,
  3255. &#39;level&#39;: &#39;ERROR&#39;}},
  3256. &#39;loggers&#39;: {&#39;django&#39;: {&#39;handlers&#39;: [&#39;console&#39;, &#39;file&#39;], &#39;propagate&#39;: True},
  3257. &#39;django.request&#39;: {&#39;handlers&#39;: [&#39;mail_admins&#39;],
  3258. &#39;level&#39;: &#39;ERROR&#39;,
  3259. &#39;propagate&#39;: False},
  3260. &#39;django.server&#39;: {&#39;handlers&#39;: [&#39;django.server&#39;],
  3261. &#39;level&#39;: &#39;INFO&#39;,
  3262. &#39;propagate&#39;: False}},
  3263. &#39;version&#39;: 1}</pre></td>
  3264. </tr>
  3265.  
  3266. <tr>
  3267. <td>LOGGING_CONFIG</td>
  3268. <td class="code"><pre>&#39;logging.config.dictConfig&#39;</pre></td>
  3269. </tr>
  3270.  
  3271. <tr>
  3272. <td>LOGIN_REDIRECT_URL</td>
  3273. <td class="code"><pre>&#39;/&#39;</pre></td>
  3274. </tr>
  3275.  
  3276. <tr>
  3277. <td>LOGIN_URL</td>
  3278. <td class="code"><pre>&#39;/accounts/login/&#39;</pre></td>
  3279. </tr>
  3280.  
  3281. <tr>
  3282. <td>LOGOUT_REDIRECT_URL</td>
  3283. <td class="code"><pre>None</pre></td>
  3284. </tr>
  3285.  
  3286. <tr>
  3287. <td>MANAGERS</td>
  3288. <td class="code"><pre>[]</pre></td>
  3289. </tr>
  3290.  
  3291. <tr>
  3292. <td>MAX_STARS_RATING_SCORE</td>
  3293. <td class="code"><pre>5</pre></td>
  3294. </tr>
  3295.  
  3296. <tr>
  3297. <td>MEDIA_ROOT</td>
  3298. <td class="code"><pre>&#39;/app/media&#39;</pre></td>
  3299. </tr>
  3300.  
  3301. <tr>
  3302. <td>MEDIA_URL</td>
  3303. <td class="code"><pre>&#39;/media/&#39;</pre></td>
  3304. </tr>
  3305.  
  3306. <tr>
  3307. <td>MENU</td>
  3308. <td class="code"><pre>[{&#39;categories&#39;: {&#39;name&#39;: &#39;Категории&#39;}},
  3309. {&#39;articles&#39;: {&#39;name&#39;: &#39;Статьи&#39;}},
  3310. {&#39;weather&#39;: {&#39;name&#39;: &#39;Погода&#39;}},
  3311. {&#39;users&#39;: {&#39;name&#39;: &#39;Пользователи&#39;}},
  3312. {&#39;blacklists&#39;: {&#39;name&#39;: &#39;Черные списки&#39;}},
  3313. {&#39;advertise&#39;: {&#39;name&#39;: &#39;Реклама&#39;}},
  3314. {&#39;exchange_rates&#39;: {&#39;name&#39;: &#39;Курс валют&#39;}},
  3315. {&#39;files&#39;: {&#39;name&#39;: &#39;Файлы&#39;}},
  3316. {&#39;forum&#39;: {&#39;name&#39;: &#39;Форум&#39;}},
  3317. {&#39;star_ratings&#39;: {&#39;name&#39;: &#39;Рейтинг&#39;}},
  3318. {&#39;dating&#39;: {&#39;name&#39;: &#39;Знакомства&#39;}},
  3319. {&#39;maps&#39;: {&#39;name&#39;: &#39;Карта&#39;}}]</pre></td>
  3320. </tr>
  3321.  
  3322. <tr>
  3323. <td>MESSAGE_STORAGE</td>
  3324. <td class="code"><pre>&#39;django.contrib.messages.storage.fallback.FallbackStorage&#39;</pre></td>
  3325. </tr>
  3326.  
  3327. <tr>
  3328. <td>MIDDLEWARE</td>
  3329. <td class="code"><pre>None</pre></td>
  3330. </tr>
  3331.  
  3332. <tr>
  3333. <td>MIDDLEWARE_CLASSES</td>
  3334. <td class="code"><pre>(&#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,
  3335. &#39;corsheaders.middleware.CorsMiddleware&#39;,
  3336. &#39;django.middleware.common.CommonMiddleware&#39;,
  3337. &#39;django.middleware.csrf.CsrfViewMiddleware&#39;,
  3338. &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,
  3339. &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,
  3340. &#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;,
  3341. &#39;django.middleware.security.SecurityMiddleware&#39;,
  3342. &#39;django.middleware.locale.LocaleMiddleware&#39;,
  3343. &#39;core.middleware.ActiveUserMiddleware&#39;,
  3344. &#39;material.frontend.middleware.SmoothNavigationMiddleware&#39;)</pre></td>
  3345. </tr>
  3346.  
  3347. <tr>
  3348. <td>MIGRATION_MODULES</td>
  3349. <td class="code"><pre>{}</pre></td>
  3350. </tr>
  3351.  
  3352. <tr>
  3353. <td>MONTH_DAY_FORMAT</td>
  3354. <td class="code"><pre>&#39;F j&#39;</pre></td>
  3355. </tr>
  3356.  
  3357. <tr>
  3358. <td>NUMBER_GROUPING</td>
  3359. <td class="code"><pre>0</pre></td>
  3360. </tr>
  3361.  
  3362. <tr>
  3363. <td>PASSWORD_HASHERS</td>
  3364. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3365. </tr>
  3366.  
  3367. <tr>
  3368. <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
  3369. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3370. </tr>
  3371.  
  3372. <tr>
  3373. <td>PREPEND_WWW</td>
  3374. <td class="code"><pre>False</pre></td>
  3375. </tr>
  3376.  
  3377. <tr>
  3378. <td>PROTOCOL_FOR_ABSOLUTE_URL</td>
  3379. <td class="code"><pre>&#39;http&#39;</pre></td>
  3380. </tr>
  3381.  
  3382. <tr>
  3383. <td>PUSH_NOTIFICATIONS_SETTINGS</td>
  3384. <td class="code"><pre>{&#39;APNS_CERTIFICATE&#39;: &#39;/app/media_private/push_apns_certs/apns.sandbox.pem&#39;,
  3385. &#39;APNS_HOST&#39;: &#39;gateway.sandbox.push.apple.com&#39;,
  3386. &#39;APNS_TOPIC&#39;: &#39;&#39;,
  3387. &#39;APNS_USE_ALTERNATIVE_PORT&#39;: False,
  3388. &#39;APNS_USE_SANDBOX&#39;: True,
  3389. &#39;CONFIG&#39;: &#39;push_notifications.conf.LegacyConfig&#39;,
  3390. &#39;FCM_ERROR_TIMEOUT&#39;: None,
  3391. &#39;FCM_MAX_RECIPIENTS&#39;: 1000,
  3392. &#39;FCM_POST_URL&#39;: &#39;https://fcm.googleapis.com/fcm/send&#39;,
  3393. &#39;GCM_ERROR_TIMEOUT&#39;: None,
  3394. &#39;GCM_MAX_RECIPIENTS&#39;: 1000,
  3395. &#39;GCM_POST_URL&#39;: &#39;https://android.googleapis.com/gcm/send&#39;,
  3396. &#39;UPDATE_ON_DUPLICATE_REG_ID&#39;: False,
  3397. &#39;USER_MODEL&#39;: &#39;users.User&#39;,
  3398. &#39;WNS_ACCESS_URL&#39;: &#39;https://login.live.com/accesstoken.srf&#39;,
  3399. &#39;WNS_PACKAGE_SECURITY_ID&#39;: None,
  3400. &#39;WNS_SECRET_KEY&#39;: &#39;********************&#39;}</pre></td>
  3401. </tr>
  3402.  
  3403. <tr>
  3404. <td>REST_FRAMEWORK</td>
  3405. <td class="code"><pre>{&#39;DATETIME_FORMAT&#39;: &#39;%Y-%m-%dT%I:%M:%S%z&#39;,
  3406. &#39;DEFAULT_AUTHENTICATION_CLASSES&#39;: (&#39;rest_framework.authentication.SessionAuthentication&#39;,
  3407. &#39;rest_framework.authentication.TokenAuthentication&#39;),
  3408. &#39;DEFAULT_FILTER_BACKENDS&#39;: (&#39;django_filters.rest_framework.DjangoFilterBackend&#39;,),
  3409. &#39;DEFAULT_PAGINATION_CLASS&#39;: &#39;rest_framework.pagination.LimitOffsetPagination&#39;,
  3410. &#39;DEFAULT_PERMISSION_CLASSES&#39;: [&#39;rest_framework.permissions.AllowAny&#39;],
  3411. &#39;DEFAULT_RENDERER_CLASSES&#39;: (&#39;rest_framework.renderers.JSONRenderer&#39;,
  3412. &#39;rest_framework.renderers.BrowsableAPIRenderer&#39;),
  3413. &#39;EXCEPTION_HANDLER&#39;: &#39;core.custom_exception.custom_exception_handler&#39;,
  3414. &#39;NON_FIELD_ERRORS_KEY&#39;: &#39;********************&#39;,
  3415. &#39;PAGE_SIZE&#39;: 100}</pre></td>
  3416. </tr>
  3417.  
  3418. <tr>
  3419. <td>ROOT_URLCONF</td>
  3420. <td class="code"><pre>&#39;urls&#39;</pre></td>
  3421. </tr>
  3422.  
  3423. <tr>
  3424. <td>SECRET_KEY</td>
  3425. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3426. </tr>
  3427.  
  3428. <tr>
  3429. <td>SECURE_BROWSER_XSS_FILTER</td>
  3430. <td class="code"><pre>False</pre></td>
  3431. </tr>
  3432.  
  3433. <tr>
  3434. <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
  3435. <td class="code"><pre>False</pre></td>
  3436. </tr>
  3437.  
  3438. <tr>
  3439. <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
  3440. <td class="code"><pre>False</pre></td>
  3441. </tr>
  3442.  
  3443. <tr>
  3444. <td>SECURE_HSTS_PRELOAD</td>
  3445. <td class="code"><pre>False</pre></td>
  3446. </tr>
  3447.  
  3448. <tr>
  3449. <td>SECURE_HSTS_SECONDS</td>
  3450. <td class="code"><pre>0</pre></td>
  3451. </tr>
  3452.  
  3453. <tr>
  3454. <td>SECURE_PROXY_SSL_HEADER</td>
  3455. <td class="code"><pre>None</pre></td>
  3456. </tr>
  3457.  
  3458. <tr>
  3459. <td>SECURE_REDIRECT_EXEMPT</td>
  3460. <td class="code"><pre>[]</pre></td>
  3461. </tr>
  3462.  
  3463. <tr>
  3464. <td>SECURE_SSL_HOST</td>
  3465. <td class="code"><pre>None</pre></td>
  3466. </tr>
  3467.  
  3468. <tr>
  3469. <td>SECURE_SSL_REDIRECT</td>
  3470. <td class="code"><pre>False</pre></td>
  3471. </tr>
  3472.  
  3473. <tr>
  3474. <td>SERVER_EMAIL</td>
  3475. <td class="code"><pre>&#39;root@localhost&#39;</pre></td>
  3476. </tr>
  3477.  
  3478. <tr>
  3479. <td>SERVER_TYPE</td>
  3480. <td class="code"><pre>&#39;dev&#39;</pre></td>
  3481. </tr>
  3482.  
  3483. <tr>
  3484. <td>SESSION_CACHE_ALIAS</td>
  3485. <td class="code"><pre>&#39;default&#39;</pre></td>
  3486. </tr>
  3487.  
  3488. <tr>
  3489. <td>SESSION_COOKIE_AGE</td>
  3490. <td class="code"><pre>1209600</pre></td>
  3491. </tr>
  3492.  
  3493. <tr>
  3494. <td>SESSION_COOKIE_DOMAIN</td>
  3495. <td class="code"><pre>None</pre></td>
  3496. </tr>
  3497.  
  3498. <tr>
  3499. <td>SESSION_COOKIE_HTTPONLY</td>
  3500. <td class="code"><pre>True</pre></td>
  3501. </tr>
  3502.  
  3503. <tr>
  3504. <td>SESSION_COOKIE_NAME</td>
  3505. <td class="code"><pre>&#39;sessionid&#39;</pre></td>
  3506. </tr>
  3507.  
  3508. <tr>
  3509. <td>SESSION_COOKIE_PATH</td>
  3510. <td class="code"><pre>&#39;/&#39;</pre></td>
  3511. </tr>
  3512.  
  3513. <tr>
  3514. <td>SESSION_COOKIE_SECURE</td>
  3515. <td class="code"><pre>False</pre></td>
  3516. </tr>
  3517.  
  3518. <tr>
  3519. <td>SESSION_ENGINE</td>
  3520. <td class="code"><pre>&#39;django.contrib.sessions.backends.db&#39;</pre></td>
  3521. </tr>
  3522.  
  3523. <tr>
  3524. <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
  3525. <td class="code"><pre>False</pre></td>
  3526. </tr>
  3527.  
  3528. <tr>
  3529. <td>SESSION_FILE_PATH</td>
  3530. <td class="code"><pre>None</pre></td>
  3531. </tr>
  3532.  
  3533. <tr>
  3534. <td>SESSION_SAVE_EVERY_REQUEST</td>
  3535. <td class="code"><pre>False</pre></td>
  3536. </tr>
  3537.  
  3538. <tr>
  3539. <td>SESSION_SERIALIZER</td>
  3540. <td class="code"><pre>&#39;django.contrib.sessions.serializers.JSONSerializer&#39;</pre></td>
  3541. </tr>
  3542.  
  3543. <tr>
  3544. <td>SETTINGS_MODULE</td>
  3545. <td class="code"><pre>&#39;config&#39;</pre></td>
  3546. </tr>
  3547.  
  3548. <tr>
  3549. <td>SHORT_DATETIME_FORMAT</td>
  3550. <td class="code"><pre>&#39;m/d/Y P&#39;</pre></td>
  3551. </tr>
  3552.  
  3553. <tr>
  3554. <td>SHORT_DATE_FORMAT</td>
  3555. <td class="code"><pre>&#39;m/d/Y&#39;</pre></td>
  3556. </tr>
  3557.  
  3558. <tr>
  3559. <td>SIGNING_BACKEND</td>
  3560. <td class="code"><pre>&#39;django.core.signing.TimestampSigner&#39;</pre></td>
  3561. </tr>
  3562.  
  3563. <tr>
  3564. <td>SILENCED_SYSTEM_CHECKS</td>
  3565. <td class="code"><pre>[]</pre></td>
  3566. </tr>
  3567.  
  3568. <tr>
  3569. <td>SITE_DOMAIN</td>
  3570. <td class="code"><pre>&#39;phuket.dvhs.pro&#39;</pre></td>
  3571. </tr>
  3572.  
  3573. <tr>
  3574. <td>SITE_ID</td>
  3575. <td class="code"><pre>1</pre></td>
  3576. </tr>
  3577.  
  3578. <tr>
  3579. <td>SITE_PROTOCOL</td>
  3580. <td class="code"><pre>&#39;http&#39;</pre></td>
  3581. </tr>
  3582.  
  3583. <tr>
  3584. <td>SITE_URL</td>
  3585. <td class="code"><pre>&#39;http://phuket.dvhs.pro&#39;</pre></td>
  3586. </tr>
  3587.  
  3588. <tr>
  3589. <td>STAR_RATINGS_RERATE</td>
  3590. <td class="code"><pre>True</pre></td>
  3591. </tr>
  3592.  
  3593. <tr>
  3594. <td>STATICFILES_DIRS</td>
  3595. <td class="code"><pre>[&#39;/app/media/sitemaps/&#39;]</pre></td>
  3596. </tr>
  3597.  
  3598. <tr>
  3599. <td>STATICFILES_FINDERS</td>
  3600. <td class="code"><pre>(&#39;django.contrib.staticfiles.finders.FileSystemFinder&#39;,
  3601. &#39;django.contrib.staticfiles.finders.AppDirectoriesFinder&#39;)</pre></td>
  3602. </tr>
  3603.  
  3604. <tr>
  3605. <td>STATICFILES_STORAGE</td>
  3606. <td class="code"><pre>&#39;django.contrib.staticfiles.storage.StaticFilesStorage&#39;</pre></td>
  3607. </tr>
  3608.  
  3609. <tr>
  3610. <td>STATICSITEMAPS_ROOT_DIR</td>
  3611. <td class="code"><pre>&#39;/app/media/sitemaps/&#39;</pre></td>
  3612. </tr>
  3613.  
  3614. <tr>
  3615. <td>STATICSITEMAPS_ROOT_SITEMAP</td>
  3616. <td class="code"><pre>&#39;core.sitemaps.sitemaps&#39;</pre></td>
  3617. </tr>
  3618.  
  3619. <tr>
  3620. <td>STATICSITEMAPS_URL</td>
  3621. <td class="code"><pre>&#39;http://phuket.dvhs.pro/media/sitemaps/&#39;</pre></td>
  3622. </tr>
  3623.  
  3624. <tr>
  3625. <td>STATIC_ROOT</td>
  3626. <td class="code"><pre>&#39;/app/static&#39;</pre></td>
  3627. </tr>
  3628.  
  3629. <tr>
  3630. <td>STATIC_URL</td>
  3631. <td class="code"><pre>&#39;/static/&#39;</pre></td>
  3632. </tr>
  3633.  
  3634. <tr>
  3635. <td>TEMPLATES</td>
  3636. <td class="code"><pre>[{&#39;BACKEND&#39;: &#39;django.template.backends.django.DjangoTemplates&#39;,
  3637. &#39;DIRS&#39;: [&#39;/app/templates&#39;],
  3638. &#39;OPTIONS&#39;: {&#39;context_processors&#39;: [&#39;django.contrib.auth.context_processors.auth&#39;,
  3639. &#39;django.template.context_processors.debug&#39;,
  3640. &#39;django.template.context_processors.request&#39;,
  3641. &#39;django.template.context_processors.i18n&#39;,
  3642. &#39;django.template.context_processors.media&#39;,
  3643. &#39;django.template.context_processors.static&#39;,
  3644. &#39;django.template.context_processors.tz&#39;,
  3645. &#39;django.contrib.messages.context_processors.messages&#39;,
  3646. &#39;sekizai.context_processors.sekizai&#39;,
  3647. &#39;core.context_processors.set_constances&#39;,
  3648. &#39;material.frontend.context_processors.modules&#39;],
  3649. &#39;debug&#39;: True,
  3650. &#39;loaders&#39;: [(&#39;django.template.loaders.cached.Loader&#39;,
  3651. [&#39;django.template.loaders.filesystem.Loader&#39;,
  3652. &#39;django.template.loaders.app_directories.Loader&#39;])]}}]</pre></td>
  3653. </tr>
  3654.  
  3655. <tr>
  3656. <td>TEMPLATE_DEBUG</td>
  3657. <td class="code"><pre>False</pre></td>
  3658. </tr>
  3659.  
  3660. <tr>
  3661. <td>TEMPLATE_LOADERS</td>
  3662. <td class="code"><pre>((&#39;django.template.loaders.cached.Loader&#39;,
  3663. (&#39;django.template.loaders.filesystem.Loader&#39;,
  3664. &#39;django.template.loaders.app_directories.Loader&#39;)),)</pre></td>
  3665. </tr>
  3666.  
  3667. <tr>
  3668. <td>TEST_NON_SERIALIZED_APPS</td>
  3669. <td class="code"><pre>[]</pre></td>
  3670. </tr>
  3671.  
  3672. <tr>
  3673. <td>TEST_RUNNER</td>
  3674. <td class="code"><pre>&#39;django.test.runner.DiscoverRunner&#39;</pre></td>
  3675. </tr>
  3676.  
  3677. <tr>
  3678. <td>THOUSAND_SEPARATOR</td>
  3679. <td class="code"><pre>&#39;,&#39;</pre></td>
  3680. </tr>
  3681.  
  3682. <tr>
  3683. <td>THUMBNAIL_DEBUG</td>
  3684. <td class="code"><pre>True</pre></td>
  3685. </tr>
  3686.  
  3687. <tr>
  3688. <td>THUMBNAIL_DUMMY</td>
  3689. <td class="code"><pre>True</pre></td>
  3690. </tr>
  3691.  
  3692. <tr>
  3693. <td>THUMBNAIL_DUMMY_SOURCE</td>
  3694. <td class="code"><pre>&#39;/media/img/no_image.jpg&#39;</pre></td>
  3695. </tr>
  3696.  
  3697. <tr>
  3698. <td>THUMBNAIL_FORMAT</td>
  3699. <td class="code"><pre>&#39;PNG&#39;</pre></td>
  3700. </tr>
  3701.  
  3702. <tr>
  3703. <td>THUMBNAIL_URL_TIMEOUT</td>
  3704. <td class="code"><pre>2</pre></td>
  3705. </tr>
  3706.  
  3707. <tr>
  3708. <td>TIME_FORMAT</td>
  3709. <td class="code"><pre>&#39;P&#39;</pre></td>
  3710. </tr>
  3711.  
  3712. <tr>
  3713. <td>TIME_INPUT_FORMATS</td>
  3714. <td class="code"><pre>(&#39;%I:%M %p&#39;,)</pre></td>
  3715. </tr>
  3716.  
  3717. <tr>
  3718. <td>TIME_ZONE</td>
  3719. <td class="code"><pre>&#39;Asia/Magadan&#39;</pre></td>
  3720. </tr>
  3721.  
  3722. <tr>
  3723. <td>TWILIO_ACCOUNT_SID</td>
  3724. <td class="code"><pre>&#39;&#39;</pre></td>
  3725. </tr>
  3726.  
  3727. <tr>
  3728. <td>TWILIO_AUTH_TOKEN</td>
  3729. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3730. </tr>
  3731.  
  3732. <tr>
  3733. <td>TWILIO_PHONE_NUMBER</td>
  3734. <td class="code"><pre>&#39;&#39;</pre></td>
  3735. </tr>
  3736.  
  3737. <tr>
  3738. <td>USER_LASTSEEN_TIMEOUT</td>
  3739. <td class="code"><pre>604800</pre></td>
  3740. </tr>
  3741.  
  3742. <tr>
  3743. <td>USER_ONLINE_TIMEOUT</td>
  3744. <td class="code"><pre>300</pre></td>
  3745. </tr>
  3746.  
  3747. <tr>
  3748. <td>USE_ETAGS</td>
  3749. <td class="code"><pre>False</pre></td>
  3750. </tr>
  3751.  
  3752. <tr>
  3753. <td>USE_I18N</td>
  3754. <td class="code"><pre>True</pre></td>
  3755. </tr>
  3756.  
  3757. <tr>
  3758. <td>USE_L10N</td>
  3759. <td class="code"><pre>False</pre></td>
  3760. </tr>
  3761.  
  3762. <tr>
  3763. <td>USE_THOUSAND_SEPARATOR</td>
  3764. <td class="code"><pre>False</pre></td>
  3765. </tr>
  3766.  
  3767. <tr>
  3768. <td>USE_TZ</td>
  3769. <td class="code"><pre>True</pre></td>
  3770. </tr>
  3771.  
  3772. <tr>
  3773. <td>USE_X_FORWARDED_HOST</td>
  3774. <td class="code"><pre>False</pre></td>
  3775. </tr>
  3776.  
  3777. <tr>
  3778. <td>USE_X_FORWARDED_PORT</td>
  3779. <td class="code"><pre>False</pre></td>
  3780. </tr>
  3781.  
  3782. <tr>
  3783. <td>WEEK_DAYS</td>
  3784. <td class="code"><pre>((&#39;1&#39;, &#39;Sunday&#39;),
  3785. (&#39;2&#39;, &#39;Monday&#39;),
  3786. (&#39;3&#39;, &#39;Tuesday&#39;),
  3787. (&#39;4&#39;, &#39;Wednesday&#39;),
  3788. (&#39;5&#39;, &#39;Thursday&#39;),
  3789. (&#39;6&#39;, &#39;Friday&#39;),
  3790. (&#39;7&#39;, &#39;Saturday&#39;))</pre></td>
  3791. </tr>
  3792.  
  3793. <tr>
  3794. <td>WSGI_APPLICATION</td>
  3795. <td class="code"><pre>&#39;wsgi.application&#39;</pre></td>
  3796. </tr>
  3797.  
  3798. <tr>
  3799. <td>X_FRAME_OPTIONS</td>
  3800. <td class="code"><pre>&#39;SAMEORIGIN&#39;</pre></td>
  3801. </tr>
  3802.  
  3803. <tr>
  3804. <td>YEAR_MONTH_FORMAT</td>
  3805. <td class="code"><pre>&#39;F Y&#39;</pre></td>
  3806. </tr>
  3807.  
  3808. </tbody>
  3809. </table>
  3810.  
  3811. </div>
  3812.  
  3813. <div id="explanation">
  3814. <p>
  3815. You're seeing this error because you have <code>DEBUG = True</code> in your
  3816. Django settings file. Change that to <code>False</code>, and Django will
  3817. display a standard page generated by the handler for this status code.
  3818. </p>
  3819. </div>
  3820.  
  3821. </body>
  3822. </html>
  3823.  
  3824. Request failed with error: JSON could not be serialized because of error:
  3825. The data couldn’t be read because it isn’t in the correct format.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement