Advertisement
val_ch_87

Untitled

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