Advertisement
ivan_carrotquest

Untitled

May 15th, 2017
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 130.14 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 /v1/savedreplies/1</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 /v1/savedreplies/1</h1>
  127. <pre class="exception_value">&#39;function&#39; object has no attribute &#39;app&#39;</pre>
  128. <table class="meta">
  129.  
  130. <tr>
  131. <th>Request Method:</th>
  132. <td>DELETE</td>
  133. </tr>
  134. <tr>
  135. <th>Request URL:</th>
  136. <td>http://beta-01.carrotquest.io/v1/savedreplies/1?auth_token=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f</td>
  137. </tr>
  138.  
  139. <tr>
  140. <th>Django Version:</th>
  141. <td>1.11.1</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;function&#39; object has no attribute &#39;app&#39;</pre></td>
  153. </tr>
  154.  
  155.  
  156. <tr>
  157. <th>Exception Location:</th>
  158. <td>/home/web/cqapi/messages/views.py in &lt;lambda&gt;, line 770</td>
  159. </tr>
  160.  
  161. <tr>
  162. <th>Python Executable:</th>
  163. <td>/home/web/venv/bin/python3</td>
  164. </tr>
  165. <tr>
  166. <th>Python Version:</th>
  167. <td>3.5.2</td>
  168. </tr>
  169. <tr>
  170. <th>Python Path:</th>
  171. <td><pre>[&#39;/home/web/cqapi&#39;,
  172. &#39;/home/web/venv/bin&#39;,
  173. &#39;/home/web/cqapi&#39;,
  174. &#39;/home/web/venv/lib/python35.zip&#39;,
  175. &#39;/home/web/venv/lib/python3.5&#39;,
  176. &#39;/home/web/venv/lib/python3.5/plat-x86_64-linux-gnu&#39;,
  177. &#39;/home/web/venv/lib/python3.5/lib-dynload&#39;,
  178. &#39;/usr/lib/python3.5&#39;,
  179. &#39;/usr/lib/python3.5/plat-x86_64-linux-gnu&#39;,
  180. &#39;/home/web/venv/lib/python3.5/site-packages&#39;,
  181. &#39;/home/web/cqapi&#39;]</pre></td>
  182. </tr>
  183. <tr>
  184. <th>Server time:</th>
  185. <td>Mon, 15 May 2017 10:15:55 +0000</td>
  186. </tr>
  187. </table>
  188. </div>
  189.  
  190.  
  191.  
  192.  
  193. <div id="traceback">
  194. <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
  195. Switch to copy-and-paste view</a></span>
  196. </h2>
  197.  
  198. <div id="browserTraceback">
  199. <ul class="traceback">
  200.  
  201.  
  202. <li class="frame django">
  203. <code>/home/web/venv/lib/python3.5/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
  204.  
  205.  
  206. <div class="context" id="c140509326703496">
  207.  
  208. <ol start="34" class="pre-context" id="pre140509326703496">
  209.  
  210. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
  211.  
  212. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
  213.  
  214. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> can rely on getting a response instead of an exception.</pre></li>
  215.  
  216. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> &quot;&quot;&quot;</pre></li>
  217.  
  218. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
  219.  
  220. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> def inner(request):</pre></li>
  221.  
  222. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> try:</pre></li>
  223.  
  224. </ol>
  225.  
  226. <ol start="41" class="context-line">
  227. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre>
  228. response = get_response(request)</pre> <span>...</span></li></ol>
  229.  
  230. <ol start='42' class="post-context" id="post140509326703496">
  231.  
  232. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> except Exception as exc:</pre></li>
  233.  
  234. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> response = response_for_exception(request, exc)</pre></li>
  235.  
  236. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> return response</pre></li>
  237.  
  238. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre> return inner</pre></li>
  239.  
  240. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre></pre></li>
  241.  
  242. <li onclick="toggle('pre140509326703496', 'post140509326703496')"><pre></pre></li>
  243.  
  244. </ol>
  245.  
  246. </div>
  247.  
  248.  
  249.  
  250. <div class="commands">
  251.  
  252. <a href="#" onclick="return varToggle(this, '140509326703496')"><span>&#x25b6;</span> Local vars</a>
  253.  
  254. </div>
  255. <table class="vars" id="v140509326703496">
  256. <thead>
  257. <tr>
  258. <th>Variable</th>
  259. <th>Value</th>
  260. </tr>
  261. </thead>
  262. <tbody>
  263.  
  264. <tr>
  265. <td>exc</td>
  266. <td class="code"><pre>AttributeError(&quot;&#39;function&#39; object has no attribute &#39;app&#39;&quot;,)</pre></td>
  267. </tr>
  268.  
  269. <tr>
  270. <td>get_response</td>
  271. <td class="code"><pre>&lt;bound method BaseHandler._get_response of &lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fcae3fff780&gt;&gt;</pre></td>
  272. </tr>
  273.  
  274. <tr>
  275. <td>request</td>
  276. <td class="code"><pre>&lt;WSGIRequest: DELETE &#39;/v1/savedreplies/1?auth_token=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;&gt;</pre></td>
  277. </tr>
  278.  
  279. </tbody>
  280. </table>
  281.  
  282. </li>
  283.  
  284.  
  285. <li class="frame django">
  286. <code>/home/web/venv/lib/python3.5/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
  287.  
  288.  
  289. <div class="context" id="c140509114962504">
  290.  
  291. <ol start="180" class="pre-context" id="pre140509114962504">
  292.  
  293. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> break</pre></li>
  294.  
  295. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre></pre></li>
  296.  
  297. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> if response is None:</pre></li>
  298.  
  299. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
  300.  
  301. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> try:</pre></li>
  302.  
  303. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>
  304.  
  305. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> except Exception as e:</pre></li>
  306.  
  307. </ol>
  308.  
  309. <ol start="187" class="context-line">
  310. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre>
  311. response = self.process_exception_by_middleware(e, request)</pre> <span>...</span></li></ol>
  312.  
  313. <ol start='188' class="post-context" id="post140509114962504">
  314.  
  315. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre></pre></li>
  316.  
  317. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> # Complain if the view returned None (a common error).</pre></li>
  318.  
  319. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> if response is None:</pre></li>
  320.  
  321. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
  322.  
  323. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> view_name = callback.__name__</pre></li>
  324.  
  325. <li onclick="toggle('pre140509114962504', 'post140509114962504')"><pre> else: # CBV</pre></li>
  326.  
  327. </ol>
  328.  
  329. </div>
  330.  
  331.  
  332.  
  333. <div class="commands">
  334.  
  335. <a href="#" onclick="return varToggle(this, '140509114962504')"><span>&#x25b6;</span> Local vars</a>
  336.  
  337. </div>
  338. <table class="vars" id="v140509114962504">
  339. <thead>
  340. <tr>
  341. <th>Variable</th>
  342. <th>Value</th>
  343. </tr>
  344. </thead>
  345. <tbody>
  346.  
  347. <tr>
  348. <td>callback</td>
  349. <td class="code"><pre>&lt;function saved_reply at 0x7fcae1934620&gt;</pre></td>
  350. </tr>
  351.  
  352. <tr>
  353. <td>callback_args</td>
  354. <td class="code"><pre>(&#39;1&#39;,)</pre></td>
  355. </tr>
  356.  
  357. <tr>
  358. <td>callback_kwargs</td>
  359. <td class="code"><pre>{}</pre></td>
  360. </tr>
  361.  
  362. <tr>
  363. <td>middleware_method</td>
  364. <td class="code"><pre>&lt;bound method DebugToolbarMiddleware.process_view of &lt;utils.middleware.NonHtmlDebugToolbarMiddleware object at 0x7fcae3fff7f0&gt;&gt;</pre></td>
  365. </tr>
  366.  
  367. <tr>
  368. <td>request</td>
  369. <td class="code"><pre>&lt;WSGIRequest: DELETE &#39;/v1/savedreplies/1?auth_token=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;&gt;</pre></td>
  370. </tr>
  371.  
  372. <tr>
  373. <td>resolver</td>
  374. <td class="code"><pre>&lt;RegexURLResolver &#39;cqapi.urls&#39; (None:None) ^/&gt;</pre></td>
  375. </tr>
  376.  
  377. <tr>
  378. <td>resolver_match</td>
  379. <td class="code"><pre>ResolverMatch(func=messages.views.saved_reply, args=(&#39;1&#39;,), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
  380. </tr>
  381.  
  382. <tr>
  383. <td>response</td>
  384. <td class="code"><pre>None</pre></td>
  385. </tr>
  386.  
  387. <tr>
  388. <td>self</td>
  389. <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fcae3fff780&gt;</pre></td>
  390. </tr>
  391.  
  392. <tr>
  393. <td>wrapped_callback</td>
  394. <td class="code"><pre>&lt;function saved_reply at 0x7fcae1934620&gt;</pre></td>
  395. </tr>
  396.  
  397. </tbody>
  398. </table>
  399.  
  400. </li>
  401.  
  402.  
  403. <li class="frame django">
  404. <code>/home/web/venv/lib/python3.5/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
  405.  
  406.  
  407. <div class="context" id="c140509114931848">
  408.  
  409. <ol start="178" class="pre-context" id="pre140509114931848">
  410.  
  411. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>
  412.  
  413. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> if response:</pre></li>
  414.  
  415. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> break</pre></li>
  416.  
  417. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre></pre></li>
  418.  
  419. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> if response is None:</pre></li>
  420.  
  421. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
  422.  
  423. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> try:</pre></li>
  424.  
  425. </ol>
  426.  
  427. <ol start="185" class="context-line">
  428. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre>
  429. response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol>
  430.  
  431. <ol start='186' class="post-context" id="post140509114931848">
  432.  
  433. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> except Exception as e:</pre></li>
  434.  
  435. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
  436.  
  437. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre></pre></li>
  438.  
  439. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> # Complain if the view returned None (a common error).</pre></li>
  440.  
  441. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> if response is None:</pre></li>
  442.  
  443. <li onclick="toggle('pre140509114931848', 'post140509114931848')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
  444.  
  445. </ol>
  446.  
  447. </div>
  448.  
  449.  
  450.  
  451. <div class="commands">
  452.  
  453. <a href="#" onclick="return varToggle(this, '140509114931848')"><span>&#x25b6;</span> Local vars</a>
  454.  
  455. </div>
  456. <table class="vars" id="v140509114931848">
  457. <thead>
  458. <tr>
  459. <th>Variable</th>
  460. <th>Value</th>
  461. </tr>
  462. </thead>
  463. <tbody>
  464.  
  465. <tr>
  466. <td>callback</td>
  467. <td class="code"><pre>&lt;function saved_reply at 0x7fcae1934620&gt;</pre></td>
  468. </tr>
  469.  
  470. <tr>
  471. <td>callback_args</td>
  472. <td class="code"><pre>(&#39;1&#39;,)</pre></td>
  473. </tr>
  474.  
  475. <tr>
  476. <td>callback_kwargs</td>
  477. <td class="code"><pre>{}</pre></td>
  478. </tr>
  479.  
  480. <tr>
  481. <td>middleware_method</td>
  482. <td class="code"><pre>&lt;bound method DebugToolbarMiddleware.process_view of &lt;utils.middleware.NonHtmlDebugToolbarMiddleware object at 0x7fcae3fff7f0&gt;&gt;</pre></td>
  483. </tr>
  484.  
  485. <tr>
  486. <td>request</td>
  487. <td class="code"><pre>&lt;WSGIRequest: DELETE &#39;/v1/savedreplies/1?auth_token=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;&gt;</pre></td>
  488. </tr>
  489.  
  490. <tr>
  491. <td>resolver</td>
  492. <td class="code"><pre>&lt;RegexURLResolver &#39;cqapi.urls&#39; (None:None) ^/&gt;</pre></td>
  493. </tr>
  494.  
  495. <tr>
  496. <td>resolver_match</td>
  497. <td class="code"><pre>ResolverMatch(func=messages.views.saved_reply, args=(&#39;1&#39;,), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
  498. </tr>
  499.  
  500. <tr>
  501. <td>response</td>
  502. <td class="code"><pre>None</pre></td>
  503. </tr>
  504.  
  505. <tr>
  506. <td>self</td>
  507. <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fcae3fff780&gt;</pre></td>
  508. </tr>
  509.  
  510. <tr>
  511. <td>wrapped_callback</td>
  512. <td class="code"><pre>&lt;function saved_reply at 0x7fcae1934620&gt;</pre></td>
  513. </tr>
  514.  
  515. </tbody>
  516. </table>
  517.  
  518. </li>
  519.  
  520.  
  521. <li class="frame django">
  522. <code>/home/web/venv/lib/python3.5/site-packages/django/views/decorators/csrf.py</code> in <code>wrapped_view</code>
  523.  
  524.  
  525. <div class="context" id="c140509114931144">
  526.  
  527. <ol start="51" class="pre-context" id="pre140509114931144">
  528.  
  529. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre> &quot;&quot;&quot;</pre></li>
  530.  
  531. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre> Marks a view function as being exempt from the CSRF view protection.</pre></li>
  532.  
  533. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre> &quot;&quot;&quot;</pre></li>
  534.  
  535. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre> # We could just do view_func.csrf_exempt = True, but decorators</pre></li>
  536.  
  537. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre> # are nicer if they don&#39;t have side-effects, so we return a new</pre></li>
  538.  
  539. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre> # function.</pre></li>
  540.  
  541. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre> def wrapped_view(*args, **kwargs):</pre></li>
  542.  
  543. </ol>
  544.  
  545. <ol start="58" class="context-line">
  546. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre>
  547. return view_func(*args, **kwargs)</pre> <span>...</span></li></ol>
  548.  
  549. <ol start='59' class="post-context" id="post140509114931144">
  550.  
  551. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre> wrapped_view.csrf_exempt = True</pre></li>
  552.  
  553. <li onclick="toggle('pre140509114931144', 'post140509114931144')"><pre> return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view)</pre></li>
  554.  
  555. </ol>
  556.  
  557. </div>
  558.  
  559.  
  560.  
  561. <div class="commands">
  562.  
  563. <a href="#" onclick="return varToggle(this, '140509114931144')"><span>&#x25b6;</span> Local vars</a>
  564.  
  565. </div>
  566. <table class="vars" id="v140509114931144">
  567. <thead>
  568. <tr>
  569. <th>Variable</th>
  570. <th>Value</th>
  571. </tr>
  572. </thead>
  573. <tbody>
  574.  
  575. <tr>
  576. <td>args</td>
  577. <td class="code"><pre>(&lt;WSGIRequest: DELETE &#39;/v1/savedreplies/1?auth_token=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;&gt;,
  578. &#39;1&#39;)</pre></td>
  579. </tr>
  580.  
  581. <tr>
  582. <td>kwargs</td>
  583. <td class="code"><pre>{}</pre></td>
  584. </tr>
  585.  
  586. <tr>
  587. <td>view_func</td>
  588. <td class="code"><pre>&lt;function WrappedAPIView at 0x7fcae1934598&gt;</pre></td>
  589. </tr>
  590.  
  591. </tbody>
  592. </table>
  593.  
  594. </li>
  595.  
  596.  
  597. <li class="frame django">
  598. <code>/home/web/venv/lib/python3.5/site-packages/django/views/generic/base.py</code> in <code>view</code>
  599.  
  600.  
  601. <div class="context" id="c140509114930632">
  602.  
  603. <ol start="61" class="pre-context" id="pre140509114930632">
  604.  
  605. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> def view(request, *args, **kwargs):</pre></li>
  606.  
  607. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> self = cls(**initkwargs)</pre></li>
  608.  
  609. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> if hasattr(self, &#39;get&#39;) and not hasattr(self, &#39;head&#39;):</pre></li>
  610.  
  611. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> self.head = self.get</pre></li>
  612.  
  613. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> self.request = request</pre></li>
  614.  
  615. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> self.args = args</pre></li>
  616.  
  617. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> self.kwargs = kwargs</pre></li>
  618.  
  619. </ol>
  620.  
  621. <ol start="68" class="context-line">
  622. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre>
  623. return self.dispatch(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  624.  
  625. <ol start='69' class="post-context" id="post140509114930632">
  626.  
  627. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> view.view_class = cls</pre></li>
  628.  
  629. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> view.view_initkwargs = initkwargs</pre></li>
  630.  
  631. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre></pre></li>
  632.  
  633. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> # take name and docstring from class</pre></li>
  634.  
  635. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre> update_wrapper(view, cls, updated=())</pre></li>
  636.  
  637. <li onclick="toggle('pre140509114930632', 'post140509114930632')"><pre></pre></li>
  638.  
  639. </ol>
  640.  
  641. </div>
  642.  
  643.  
  644.  
  645. <div class="commands">
  646.  
  647. <a href="#" onclick="return varToggle(this, '140509114930632')"><span>&#x25b6;</span> Local vars</a>
  648.  
  649. </div>
  650. <table class="vars" id="v140509114930632">
  651. <thead>
  652. <tr>
  653. <th>Variable</th>
  654. <th>Value</th>
  655. </tr>
  656. </thead>
  657. <tbody>
  658.  
  659. <tr>
  660. <td>args</td>
  661. <td class="code"><pre>(&#39;1&#39;,)</pre></td>
  662. </tr>
  663.  
  664. <tr>
  665. <td>cls</td>
  666. <td class="code"><pre>&lt;class &#39;api.decorators.WrappedAPIView&#39;&gt;</pre></td>
  667. </tr>
  668.  
  669. <tr>
  670. <td>initkwargs</td>
  671. <td class="code"><pre>{}</pre></td>
  672. </tr>
  673.  
  674. <tr>
  675. <td>kwargs</td>
  676. <td class="code"><pre>{}</pre></td>
  677. </tr>
  678.  
  679. <tr>
  680. <td>request</td>
  681. <td class="code"><pre>&lt;WSGIRequest: DELETE &#39;/v1/savedreplies/1?auth_token=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;&gt;</pre></td>
  682. </tr>
  683.  
  684. <tr>
  685. <td>self</td>
  686. <td class="code"><pre>&lt;api.decorators.WrappedAPIView object at 0x7fcad3e3c470&gt;</pre></td>
  687. </tr>
  688.  
  689. </tbody>
  690. </table>
  691.  
  692. </li>
  693.  
  694.  
  695. <li class="frame user">
  696. <code>/home/web/venv/lib/python3.5/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
  697.  
  698.  
  699. <div class="context" id="c140509114932488">
  700.  
  701. <ol start="476" class="pre-context" id="pre140509114932488">
  702.  
  703. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre> self.http_method_not_allowed)</pre></li>
  704.  
  705. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre> else:</pre></li>
  706.  
  707. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre> handler = self.http_method_not_allowed</pre></li>
  708.  
  709. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre></pre></li>
  710.  
  711. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre> response = handler(request, *args, **kwargs)</pre></li>
  712.  
  713. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre></pre></li>
  714.  
  715. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre> except Exception as exc:</pre></li>
  716.  
  717. </ol>
  718.  
  719. <ol start="483" class="context-line">
  720. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre>
  721. response = self.handle_exception(exc)</pre> <span>...</span></li></ol>
  722.  
  723. <ol start='484' class="post-context" id="post140509114932488">
  724.  
  725. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre></pre></li>
  726.  
  727. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
  728.  
  729. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre> return self.response</pre></li>
  730.  
  731. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre></pre></li>
  732.  
  733. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre> def options(self, request, *args, **kwargs):</pre></li>
  734.  
  735. <li onclick="toggle('pre140509114932488', 'post140509114932488')"><pre> &quot;&quot;&quot;</pre></li>
  736.  
  737. </ol>
  738.  
  739. </div>
  740.  
  741.  
  742.  
  743. <div class="commands">
  744.  
  745. <a href="#" onclick="return varToggle(this, '140509114932488')"><span>&#x25b6;</span> Local vars</a>
  746.  
  747. </div>
  748. <table class="vars" id="v140509114932488">
  749. <thead>
  750. <tr>
  751. <th>Variable</th>
  752. <th>Value</th>
  753. </tr>
  754. </thead>
  755. <tbody>
  756.  
  757. <tr>
  758. <td>args</td>
  759. <td class="code"><pre>(&#39;1&#39;,)</pre></td>
  760. </tr>
  761.  
  762. <tr>
  763. <td>handler</td>
  764. <td class="code"><pre>&lt;bound method api_view.&lt;locals&gt;.decorator.&lt;locals&gt;.handler of &lt;api.decorators.WrappedAPIView object at 0x7fcad3e3c470&gt;&gt;</pre></td>
  765. </tr>
  766.  
  767. <tr>
  768. <td>kwargs</td>
  769. <td class="code"><pre>{}</pre></td>
  770. </tr>
  771.  
  772. <tr>
  773. <td>request</td>
  774. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fcad3ef42e8&gt;</pre></td>
  775. </tr>
  776.  
  777. <tr>
  778. <td>self</td>
  779. <td class="code"><pre>&lt;api.decorators.WrappedAPIView object at 0x7fcad3e3c470&gt;</pre></td>
  780. </tr>
  781.  
  782. </tbody>
  783. </table>
  784.  
  785. </li>
  786.  
  787.  
  788. <li class="frame user">
  789. <code>/home/web/venv/lib/python3.5/site-packages/rest_framework/views.py</code> in <code>handle_exception</code>
  790.  
  791.  
  792. <div class="context" id="c140509114579016">
  793.  
  794. <ol start="436" class="pre-context" id="pre140509114579016">
  795.  
  796. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre></pre></li>
  797.  
  798. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre> exception_handler = self.get_exception_handler()</pre></li>
  799.  
  800. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre></pre></li>
  801.  
  802. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre> context = self.get_exception_handler_context()</pre></li>
  803.  
  804. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre> response = exception_handler(exc, context)</pre></li>
  805.  
  806. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre></pre></li>
  807.  
  808. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre> if response is None:</pre></li>
  809.  
  810. </ol>
  811.  
  812. <ol start="443" class="context-line">
  813. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre>
  814. self.raise_uncaught_exception(exc)</pre> <span>...</span></li></ol>
  815.  
  816. <ol start='444' class="post-context" id="post140509114579016">
  817.  
  818. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre></pre></li>
  819.  
  820. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre> response.exception = True</pre></li>
  821.  
  822. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre> return response</pre></li>
  823.  
  824. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre></pre></li>
  825.  
  826. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre> def raise_uncaught_exception(self, exc):</pre></li>
  827.  
  828. <li onclick="toggle('pre140509114579016', 'post140509114579016')"><pre> if settings.DEBUG:</pre></li>
  829.  
  830. </ol>
  831.  
  832. </div>
  833.  
  834.  
  835.  
  836. <div class="commands">
  837.  
  838. <a href="#" onclick="return varToggle(this, '140509114579016')"><span>&#x25b6;</span> Local vars</a>
  839.  
  840. </div>
  841. <table class="vars" id="v140509114579016">
  842. <thead>
  843. <tr>
  844. <th>Variable</th>
  845. <th>Value</th>
  846. </tr>
  847. </thead>
  848. <tbody>
  849.  
  850. <tr>
  851. <td>context</td>
  852. <td class="code"><pre>{&#39;args&#39;: (&#39;1&#39;,),
  853. &#39;kwargs&#39;: {},
  854. &#39;request&#39;: &lt;rest_framework.request.Request object at 0x7fcad3ef42e8&gt;,
  855. &#39;view&#39;: &lt;api.decorators.WrappedAPIView object at 0x7fcad3e3c470&gt;}</pre></td>
  856. </tr>
  857.  
  858. <tr>
  859. <td>exc</td>
  860. <td class="code"><pre>AttributeError(&quot;&#39;function&#39; object has no attribute &#39;app&#39;&quot;,)</pre></td>
  861. </tr>
  862.  
  863. <tr>
  864. <td>exception_handler</td>
  865. <td class="code"><pre>&lt;function rest_framework_exception_handler at 0x7fcae1b126a8&gt;</pre></td>
  866. </tr>
  867.  
  868. <tr>
  869. <td>response</td>
  870. <td class="code"><pre>None</pre></td>
  871. </tr>
  872.  
  873. <tr>
  874. <td>self</td>
  875. <td class="code"><pre>&lt;api.decorators.WrappedAPIView object at 0x7fcad3e3c470&gt;</pre></td>
  876. </tr>
  877.  
  878. </tbody>
  879. </table>
  880.  
  881. </li>
  882.  
  883.  
  884. <li class="frame user">
  885. <code>/home/web/venv/lib/python3.5/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
  886.  
  887.  
  888. <div class="context" id="c140509114552264">
  889.  
  890. <ol start="473" class="pre-context" id="pre140509114552264">
  891.  
  892. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> # Get the appropriate handler method</pre></li>
  893.  
  894. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> if request.method.lower() in self.http_method_names:</pre></li>
  895.  
  896. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> handler = getattr(self, request.method.lower(),</pre></li>
  897.  
  898. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> self.http_method_not_allowed)</pre></li>
  899.  
  900. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> else:</pre></li>
  901.  
  902. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> handler = self.http_method_not_allowed</pre></li>
  903.  
  904. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre></pre></li>
  905.  
  906. </ol>
  907.  
  908. <ol start="480" class="context-line">
  909. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre>
  910. response = handler(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  911.  
  912. <ol start='481' class="post-context" id="post140509114552264">
  913.  
  914. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre></pre></li>
  915.  
  916. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> except Exception as exc:</pre></li>
  917.  
  918. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> response = self.handle_exception(exc)</pre></li>
  919.  
  920. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre></pre></li>
  921.  
  922. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
  923.  
  924. <li onclick="toggle('pre140509114552264', 'post140509114552264')"><pre> return self.response</pre></li>
  925.  
  926. </ol>
  927.  
  928. </div>
  929.  
  930.  
  931.  
  932. <div class="commands">
  933.  
  934. <a href="#" onclick="return varToggle(this, '140509114552264')"><span>&#x25b6;</span> Local vars</a>
  935.  
  936. </div>
  937. <table class="vars" id="v140509114552264">
  938. <thead>
  939. <tr>
  940. <th>Variable</th>
  941. <th>Value</th>
  942. </tr>
  943. </thead>
  944. <tbody>
  945.  
  946. <tr>
  947. <td>args</td>
  948. <td class="code"><pre>(&#39;1&#39;,)</pre></td>
  949. </tr>
  950.  
  951. <tr>
  952. <td>handler</td>
  953. <td class="code"><pre>&lt;bound method api_view.&lt;locals&gt;.decorator.&lt;locals&gt;.handler of &lt;api.decorators.WrappedAPIView object at 0x7fcad3e3c470&gt;&gt;</pre></td>
  954. </tr>
  955.  
  956. <tr>
  957. <td>kwargs</td>
  958. <td class="code"><pre>{}</pre></td>
  959. </tr>
  960.  
  961. <tr>
  962. <td>request</td>
  963. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fcad3ef42e8&gt;</pre></td>
  964. </tr>
  965.  
  966. <tr>
  967. <td>self</td>
  968. <td class="code"><pre>&lt;api.decorators.WrappedAPIView object at 0x7fcad3e3c470&gt;</pre></td>
  969. </tr>
  970.  
  971. </tbody>
  972. </table>
  973.  
  974. </li>
  975.  
  976.  
  977. <li class="frame user">
  978. <code>/home/web/venv/lib/python3.5/site-packages/rest_framework/decorators.py</code> in <code>handler</code>
  979.  
  980.  
  981. <div class="context" id="c140509114938184">
  982.  
  983. <ol start="45" class="pre-context" id="pre140509114938184">
  984.  
  985. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre> assert isinstance(http_method_names, (list, tuple)), \</pre></li>
  986.  
  987. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre> &#39;@api_view expected a list of strings, received %s&#39; % type(http_method_names).__name__</pre></li>
  988.  
  989. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre></pre></li>
  990.  
  991. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre> allowed_methods = set(http_method_names) | set((&#39;options&#39;,))</pre></li>
  992.  
  993. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre> WrappedAPIView.http_method_names = [method.lower() for method in allowed_methods]</pre></li>
  994.  
  995. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre></pre></li>
  996.  
  997. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre> def handler(self, *args, **kwargs):</pre></li>
  998.  
  999. </ol>
  1000.  
  1001. <ol start="52" class="context-line">
  1002. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre>
  1003. return func(*args, **kwargs)</pre> <span>...</span></li></ol>
  1004.  
  1005. <ol start='53' class="post-context" id="post140509114938184">
  1006.  
  1007. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre></pre></li>
  1008.  
  1009. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre> for method in http_method_names:</pre></li>
  1010.  
  1011. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre> setattr(WrappedAPIView, method.lower(), handler)</pre></li>
  1012.  
  1013. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre></pre></li>
  1014.  
  1015. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre> WrappedAPIView.__name__ = func.__name__</pre></li>
  1016.  
  1017. <li onclick="toggle('pre140509114938184', 'post140509114938184')"><pre> WrappedAPIView.__module__ = func.__module__</pre></li>
  1018.  
  1019. </ol>
  1020.  
  1021. </div>
  1022.  
  1023.  
  1024.  
  1025. <div class="commands">
  1026.  
  1027. <a href="#" onclick="return varToggle(this, '140509114938184')"><span>&#x25b6;</span> Local vars</a>
  1028.  
  1029. </div>
  1030. <table class="vars" id="v140509114938184">
  1031. <thead>
  1032. <tr>
  1033. <th>Variable</th>
  1034. <th>Value</th>
  1035. </tr>
  1036. </thead>
  1037. <tbody>
  1038.  
  1039. <tr>
  1040. <td>args</td>
  1041. <td class="code"><pre>(&lt;rest_framework.request.Request object at 0x7fcad3ef42e8&gt;, &#39;1&#39;)</pre></td>
  1042. </tr>
  1043.  
  1044. <tr>
  1045. <td>func</td>
  1046. <td class="code"><pre>&lt;function api_view.&lt;locals&gt;._view.&lt;locals&gt;.__view at 0x7fcae1934510&gt;</pre></td>
  1047. </tr>
  1048.  
  1049. <tr>
  1050. <td>kwargs</td>
  1051. <td class="code"><pre>{}</pre></td>
  1052. </tr>
  1053.  
  1054. <tr>
  1055. <td>self</td>
  1056. <td class="code"><pre>&lt;api.decorators.WrappedAPIView object at 0x7fcad3e3c470&gt;</pre></td>
  1057. </tr>
  1058.  
  1059. </tbody>
  1060. </table>
  1061.  
  1062. </li>
  1063.  
  1064.  
  1065. <li class="frame user">
  1066. <code>/home/web/cqapi/api/decorators.py</code> in <code>__view</code>
  1067.  
  1068.  
  1069. <div class="context" id="c140509114940744">
  1070.  
  1071. <ol start="138" class="pre-context" id="pre140509114940744">
  1072.  
  1073. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> # Check token types</pre></li>
  1074.  
  1075. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> raise PermissionDeniedError()</pre></li>
  1076.  
  1077. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> else:</pre></li>
  1078.  
  1079. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> # Подстановка параметров URL $self</pre></li>
  1080.  
  1081. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> request, args, kwargs = process_params(request, *args, **kwargs)</pre></li>
  1082.  
  1083. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre></pre></li>
  1084.  
  1085. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> # Выполняем обернутую функцию</pre></li>
  1086.  
  1087. </ol>
  1088.  
  1089. <ol start="145" class="context-line">
  1090. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre>
  1091. response = f(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  1092.  
  1093. <ol start='146' class="post-context" id="post140509114940744">
  1094.  
  1095. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre></pre></li>
  1096.  
  1097. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> # Преобразуем вывод функцииы</pre></li>
  1098.  
  1099. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> response = format_view_response(response)</pre></li>
  1100.  
  1101. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre></pre></li>
  1102.  
  1103. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> except VisibleError as ex:</pre></li>
  1104.  
  1105. <li onclick="toggle('pre140509114940744', 'post140509114940744')"><pre> # Перехватываем стандартные исключения и переводим их в APIResponse</pre></li>
  1106.  
  1107. </ol>
  1108.  
  1109. </div>
  1110.  
  1111.  
  1112.  
  1113. <div class="commands">
  1114.  
  1115. <a href="#" onclick="return varToggle(this, '140509114940744')"><span>&#x25b6;</span> Local vars</a>
  1116.  
  1117. </div>
  1118. <table class="vars" id="v140509114940744">
  1119. <thead>
  1120. <tr>
  1121. <th>Variable</th>
  1122. <th>Value</th>
  1123. </tr>
  1124. </thead>
  1125. <tbody>
  1126.  
  1127. <tr>
  1128. <td>allowed_tokens</td>
  1129. <td class="code"><pre>[]</pre></td>
  1130. </tr>
  1131.  
  1132. <tr>
  1133. <td>args</td>
  1134. <td class="code"><pre>[&#39;1&#39;]</pre></td>
  1135. </tr>
  1136.  
  1137. <tr>
  1138. <td>check_nonce</td>
  1139. <td class="code"><pre>&lt;function api_view.&lt;locals&gt;.check_nonce at 0x7fcae1932d90&gt;</pre></td>
  1140. </tr>
  1141.  
  1142. <tr>
  1143. <td>cors_credentials</td>
  1144. <td class="code"><pre>False</pre></td>
  1145. </tr>
  1146.  
  1147. <tr>
  1148. <td>f</td>
  1149. <td class="code"><pre>&lt;function saved_reply at 0x7fcae1934378&gt;</pre></td>
  1150. </tr>
  1151.  
  1152. <tr>
  1153. <td>format_view_response</td>
  1154. <td class="code"><pre>&lt;function api_view.&lt;locals&gt;.format_view_response at 0x7fcae1934268&gt;</pre></td>
  1155. </tr>
  1156.  
  1157. <tr>
  1158. <td>kwargs</td>
  1159. <td class="code"><pre>{}</pre></td>
  1160. </tr>
  1161.  
  1162. <tr>
  1163. <td>mark_newrelic_transaction</td>
  1164. <td class="code"><pre>&lt;function api_view.&lt;locals&gt;.mark_newrelic_transaction at 0x7fcae1932d08&gt;</pre></td>
  1165. </tr>
  1166.  
  1167. <tr>
  1168. <td>process_params</td>
  1169. <td class="code"><pre>&lt;function api_view.&lt;locals&gt;.process_params at 0x7fcae19341e0&gt;</pre></td>
  1170. </tr>
  1171.  
  1172. <tr>
  1173. <td>request</td>
  1174. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fcad3ef42e8&gt;</pre></td>
  1175. </tr>
  1176.  
  1177. </tbody>
  1178. </table>
  1179.  
  1180. </li>
  1181.  
  1182.  
  1183. <li class="frame user">
  1184. <code>/home/web/cqapi/messages/views.py</code> in <code>saved_reply</code>
  1185.  
  1186.  
  1187. <div class="context" id="c140509114938696">
  1188.  
  1189. <ol start="763" class="pre-context" id="pre140509114938696">
  1190.  
  1191. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre> reply = SavedReply.objects.create(app=app, body=body)</pre></li>
  1192.  
  1193. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre> return {&#39;id&#39;: reply.id}</pre></li>
  1194.  
  1195. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre></pre></li>
  1196.  
  1197. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre></pre></li>
  1198.  
  1199. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre>@api_view(methods=&#39;DELETE&#39;)</pre></li>
  1200.  
  1201. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre>def saved_reply(request, saved_reply_id):</pre></li>
  1202.  
  1203. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre> reply = lookup_model(SavedReply, saved_reply_id)</pre></li>
  1204.  
  1205. </ol>
  1206.  
  1207. <ol start="770" class="context-line">
  1208. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre>
  1209. check_perm(lambda: request.auth.check_scope(PermissionScope.APP_BASIC_WRITE, saved_reply.app))</pre> <span>...</span></li></ol>
  1210.  
  1211. <ol start='771' class="post-context" id="post140509114938696">
  1212.  
  1213. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre> reply.delete()</pre></li>
  1214.  
  1215. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre></pre></li>
  1216.  
  1217. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre></pre></li>
  1218.  
  1219. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre>@api_view(methods=&#39;GET&#39;)</pre></li>
  1220.  
  1221. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre>def app_message_templates(request, app_id):</pre></li>
  1222.  
  1223. <li onclick="toggle('pre140509114938696', 'post140509114938696')"><pre> app = lookup_model(App, app_id)</pre></li>
  1224.  
  1225. </ol>
  1226.  
  1227. </div>
  1228.  
  1229.  
  1230.  
  1231. <div class="commands">
  1232.  
  1233. <a href="#" onclick="return varToggle(this, '140509114938696')"><span>&#x25b6;</span> Local vars</a>
  1234.  
  1235. </div>
  1236. <table class="vars" id="v140509114938696">
  1237. <thead>
  1238. <tr>
  1239. <th>Variable</th>
  1240. <th>Value</th>
  1241. </tr>
  1242. </thead>
  1243. <tbody>
  1244.  
  1245. <tr>
  1246. <td>reply</td>
  1247. <td class="code"><pre>&lt;SavedReply: SavedReply object&gt;</pre></td>
  1248. </tr>
  1249.  
  1250. <tr>
  1251. <td>request</td>
  1252. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fcad3ef42e8&gt;</pre></td>
  1253. </tr>
  1254.  
  1255. <tr>
  1256. <td>saved_reply_id</td>
  1257. <td class="code"><pre>&#39;1&#39;</pre></td>
  1258. </tr>
  1259.  
  1260. </tbody>
  1261. </table>
  1262.  
  1263. </li>
  1264.  
  1265.  
  1266. <li class="frame user">
  1267. <code>/home/web/cqapi/api/utils.py</code> in <code>check_perm</code>
  1268.  
  1269.  
  1270. <div class="context" id="c140509114940424">
  1271.  
  1272. <ol start="174" class="pre-context" id="pre140509114940424">
  1273.  
  1274. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre> Проверяет наличие permission-а</pre></li>
  1275.  
  1276. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre> :param func: Функция-условие, которая должна возвращать boolean.</pre></li>
  1277.  
  1278. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre> :param error_message: Сообщение об ошибке, если условие не выполнилось</pre></li>
  1279.  
  1280. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre> :return: None</pre></li>
  1281.  
  1282. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre> &quot;&quot;&quot;</pre></li>
  1283.  
  1284. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre> assert isinstance(func, types.FunctionType), &quot;func parameter must be a function&quot;</pre></li>
  1285.  
  1286. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre></pre></li>
  1287.  
  1288. </ol>
  1289.  
  1290. <ol start="181" class="context-line">
  1291. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre>
  1292. if not func():</pre> <span>...</span></li></ol>
  1293.  
  1294. <ol start='182' class="post-context" id="post140509114940424">
  1295.  
  1296. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre> raise PermissionDeniedError(error_message)</pre></li>
  1297.  
  1298. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre></pre></li>
  1299.  
  1300. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre></pre></li>
  1301.  
  1302. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre>def call_request_method(request, local_vars, *args, **kwargs):</pre></li>
  1303.  
  1304. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre> &quot;&quot;&quot;</pre></li>
  1305.  
  1306. <li onclick="toggle('pre140509114940424', 'post140509114940424')"><pre> В текущий момент большинство view построена так, что в конце постоянно необходимо вызывать нужный метод,</pre></li>
  1307.  
  1308. </ol>
  1309.  
  1310. </div>
  1311.  
  1312.  
  1313.  
  1314. <div class="commands">
  1315.  
  1316. <a href="#" onclick="return varToggle(this, '140509114940424')"><span>&#x25b6;</span> Local vars</a>
  1317.  
  1318. </div>
  1319. <table class="vars" id="v140509114940424">
  1320. <thead>
  1321. <tr>
  1322. <th>Variable</th>
  1323. <th>Value</th>
  1324. </tr>
  1325. </thead>
  1326. <tbody>
  1327.  
  1328. <tr>
  1329. <td>error_message</td>
  1330. <td class="code"><pre>None</pre></td>
  1331. </tr>
  1332.  
  1333. <tr>
  1334. <td>func</td>
  1335. <td class="code"><pre>&lt;function saved_reply.&lt;locals&gt;.&lt;lambda&gt; at 0x7fcad3e61ea0&gt;</pre></td>
  1336. </tr>
  1337.  
  1338. </tbody>
  1339. </table>
  1340.  
  1341. </li>
  1342.  
  1343.  
  1344. <li class="frame user">
  1345. <code>/home/web/cqapi/messages/views.py</code> in <code>&lt;lambda&gt;</code>
  1346.  
  1347.  
  1348. <div class="context" id="c140509114950280">
  1349.  
  1350. <ol start="763" class="pre-context" id="pre140509114950280">
  1351.  
  1352. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre> reply = SavedReply.objects.create(app=app, body=body)</pre></li>
  1353.  
  1354. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre> return {&#39;id&#39;: reply.id}</pre></li>
  1355.  
  1356. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre></pre></li>
  1357.  
  1358. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre></pre></li>
  1359.  
  1360. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre>@api_view(methods=&#39;DELETE&#39;)</pre></li>
  1361.  
  1362. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre>def saved_reply(request, saved_reply_id):</pre></li>
  1363.  
  1364. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre> reply = lookup_model(SavedReply, saved_reply_id)</pre></li>
  1365.  
  1366. </ol>
  1367.  
  1368. <ol start="770" class="context-line">
  1369. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre>
  1370. check_perm(lambda: request.auth.check_scope(PermissionScope.APP_BASIC_WRITE, saved_reply.app))</pre> <span>...</span></li></ol>
  1371.  
  1372. <ol start='771' class="post-context" id="post140509114950280">
  1373.  
  1374. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre> reply.delete()</pre></li>
  1375.  
  1376. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre></pre></li>
  1377.  
  1378. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre></pre></li>
  1379.  
  1380. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre>@api_view(methods=&#39;GET&#39;)</pre></li>
  1381.  
  1382. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre>def app_message_templates(request, app_id):</pre></li>
  1383.  
  1384. <li onclick="toggle('pre140509114950280', 'post140509114950280')"><pre> app = lookup_model(App, app_id)</pre></li>
  1385.  
  1386. </ol>
  1387.  
  1388. </div>
  1389.  
  1390.  
  1391.  
  1392. <div class="commands">
  1393.  
  1394. <a href="#" onclick="return varToggle(this, '140509114950280')"><span>&#x25b6;</span> Local vars</a>
  1395.  
  1396. </div>
  1397. <table class="vars" id="v140509114950280">
  1398. <thead>
  1399. <tr>
  1400. <th>Variable</th>
  1401. <th>Value</th>
  1402. </tr>
  1403. </thead>
  1404. <tbody>
  1405.  
  1406. <tr>
  1407. <td>request</td>
  1408. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fcad3ef42e8&gt;</pre></td>
  1409. </tr>
  1410.  
  1411. </tbody>
  1412. </table>
  1413.  
  1414. </li>
  1415.  
  1416. </ul>
  1417. </div>
  1418.  
  1419. <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
  1420.  
  1421. <div id="pastebinTraceback" class="pastebin">
  1422. <input type="hidden" name="language" value="PythonConsole">
  1423. <input type="hidden" name="title"
  1424. value="AttributeError at /v1/savedreplies/1">
  1425. <input type="hidden" name="source" value="Django Dpaste Agent">
  1426. <input type="hidden" name="poster" value="Django">
  1427. <textarea name="content" id="traceback_area" cols="140" rows="25">
  1428. Environment:
  1429.  
  1430.  
  1431. Request Method: DELETE
  1432. Request URL: http://beta-01.carrotquest.io/v1/savedreplies/1?auth_token=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f
  1433.  
  1434. Django Version: 1.11.1
  1435. Python Version: 3.5.2
  1436. Installed Applications:
  1437. (&#39;cacheops&#39;,
  1438. &#39;corsheaders&#39;,
  1439. &#39;django.contrib.auth&#39;,
  1440. &#39;django.contrib.admin&#39;,
  1441. &#39;django.contrib.contenttypes&#39;,
  1442. &#39;django.contrib.sessions&#39;,
  1443. &#39;django.contrib.postgres&#39;,
  1444. &#39;rest_framework&#39;,
  1445. &#39;api&#39;,
  1446. &#39;apps&#39;,
  1447. &#39;users&#39;,
  1448. &#39;utils&#39;,
  1449. &#39;panel&#39;,
  1450. &#39;events&#39;,
  1451. &#39;messages&#39;,
  1452. &#39;integrations&#39;,
  1453. &#39;billing&#39;,
  1454. &#39;analytics&#39;,
  1455. &#39;django.contrib.staticfiles&#39;,
  1456. &#39;debug_toolbar&#39;)
  1457. Installed Middleware:
  1458. (&#39;corsheaders.middleware.CorsMiddleware&#39;,
  1459. &#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,
  1460. &#39;django.middleware.common.CommonMiddleware&#39;,
  1461. &#39;django.middleware.csrf.CsrfViewMiddleware&#39;,
  1462. &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,
  1463. &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,
  1464. &#39;utils.middleware.CORSMiddleware&#39;,
  1465. &#39;utils.middleware.ExceptionLoggingMiddleware&#39;,
  1466. &#39;utils.middleware.NonHtmlDebugToolbarMiddleware&#39;)
  1467.  
  1468.  
  1469.  
  1470. Traceback:
  1471.  
  1472. File "/home/web/venv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  1473. 41. response = get_response(request)
  1474.  
  1475. File "/home/web/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  1476. 187. response = self.process_exception_by_middleware(e, request)
  1477.  
  1478. File "/home/web/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  1479. 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
  1480.  
  1481. File "/home/web/venv/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
  1482. 58. return view_func(*args, **kwargs)
  1483.  
  1484. File "/home/web/venv/lib/python3.5/site-packages/django/views/generic/base.py" in view
  1485. 68. return self.dispatch(request, *args, **kwargs)
  1486.  
  1487. File "/home/web/venv/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
  1488. 483. response = self.handle_exception(exc)
  1489.  
  1490. File "/home/web/venv/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
  1491. 443. self.raise_uncaught_exception(exc)
  1492.  
  1493. File "/home/web/venv/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
  1494. 480. response = handler(request, *args, **kwargs)
  1495.  
  1496. File "/home/web/venv/lib/python3.5/site-packages/rest_framework/decorators.py" in handler
  1497. 52. return func(*args, **kwargs)
  1498.  
  1499. File "/home/web/cqapi/api/decorators.py" in __view
  1500. 145. response = f(request, *args, **kwargs)
  1501.  
  1502. File "/home/web/cqapi/messages/views.py" in saved_reply
  1503. 770. check_perm(lambda: request.auth.check_scope(PermissionScope.APP_BASIC_WRITE, saved_reply.app))
  1504.  
  1505. File "/home/web/cqapi/api/utils.py" in check_perm
  1506. 181. if not func():
  1507.  
  1508. File "/home/web/cqapi/messages/views.py" in &lt;lambda&gt;
  1509. 770. check_perm(lambda: request.auth.check_scope(PermissionScope.APP_BASIC_WRITE, saved_reply.app))
  1510.  
  1511. Exception Type: AttributeError at /v1/savedreplies/1
  1512. Exception Value: &#39;function&#39; object has no attribute &#39;app&#39;
  1513. </textarea>
  1514. <br><br>
  1515. <input type="submit" value="Share this traceback on a public website">
  1516. </div>
  1517. </form>
  1518. </div>
  1519.  
  1520.  
  1521.  
  1522. <div id="requestinfo">
  1523. <h2>Request information</h2>
  1524.  
  1525.  
  1526.  
  1527. <h3 id="user-info">USER</h3>
  1528. <p>None</p>
  1529.  
  1530.  
  1531. <h3 id="get-info">GET</h3>
  1532.  
  1533. <table class="req">
  1534. <thead>
  1535. <tr>
  1536. <th>Variable</th>
  1537. <th>Value</th>
  1538. </tr>
  1539. </thead>
  1540. <tbody>
  1541.  
  1542. <tr>
  1543. <td>auth_token</td>
  1544. <td class="code"><pre>&#39;panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;</pre></td>
  1545. </tr>
  1546.  
  1547. </tbody>
  1548. </table>
  1549.  
  1550.  
  1551. <h3 id="post-info">POST</h3>
  1552.  
  1553. <p>No POST data</p>
  1554.  
  1555. <h3 id="files-info">FILES</h3>
  1556.  
  1557. <p>No FILES data</p>
  1558.  
  1559.  
  1560.  
  1561. <h3 id="cookie-info">COOKIES</h3>
  1562.  
  1563. <table class="req">
  1564. <thead>
  1565. <tr>
  1566. <th>Variable</th>
  1567. <th>Value</th>
  1568. </tr>
  1569. </thead>
  1570. <tbody>
  1571.  
  1572. <tr>
  1573. <td>carrotquest_realtime_services_transport</td>
  1574. <td class="code"><pre>&#39;wss&#39;</pre></td>
  1575. </tr>
  1576.  
  1577. <tr>
  1578. <td>_ga</td>
  1579. <td class="code"><pre>&#39;GA1.2.2104518999.1493290227&#39;</pre></td>
  1580. </tr>
  1581.  
  1582. <tr>
  1583. <td>_gid</td>
  1584. <td class="code"><pre>&#39;GA1.2.330950822.1494829717&#39;</pre></td>
  1585. </tr>
  1586.  
  1587. <tr>
  1588. <td>_ym_isad</td>
  1589. <td class="code"><pre>&#39;2&#39;</pre></td>
  1590. </tr>
  1591.  
  1592. <tr>
  1593. <td>_ym_uid</td>
  1594. <td class="code"><pre>&#39;1493290227993168218&#39;</pre></td>
  1595. </tr>
  1596.  
  1597. <tr>
  1598. <td>carrotquest_auth_token</td>
  1599. <td class="code"><pre>&#39;user.43578361.100-675e2c8860097948c325b680f4da.5d77ad865c7b07230974f4bf1f88cd43493f59dbbc85464d&#39;</pre></td>
  1600. </tr>
  1601.  
  1602. <tr>
  1603. <td>carrotquest_uid</td>
  1604. <td class="code"><pre>&#39;43578361&#39;</pre></td>
  1605. </tr>
  1606.  
  1607. <tr>
  1608. <td>carrotquest_auth_token_panel</td>
  1609. <td class="code"><pre>&#39;panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;</pre></td>
  1610. </tr>
  1611.  
  1612. </tbody>
  1613. </table>
  1614.  
  1615.  
  1616. <h3 id="meta-info">META</h3>
  1617. <table class="req">
  1618. <thead>
  1619. <tr>
  1620. <th>Variable</th>
  1621. <th>Value</th>
  1622. </tr>
  1623. </thead>
  1624. <tbody>
  1625.  
  1626. <tr>
  1627. <td>CONTENT_LENGTH</td>
  1628. <td class="code"><pre>&#39;0&#39;</pre></td>
  1629. </tr>
  1630.  
  1631. <tr>
  1632. <td>CONTENT_TYPE</td>
  1633. <td class="code"><pre>&#39;application/x-www-form-urlencoded; charset=UTF-8&#39;</pre></td>
  1634. </tr>
  1635.  
  1636. <tr>
  1637. <td>HTTP_ACCEPT</td>
  1638. <td class="code"><pre>&#39;application/json, text/plain, */*&#39;</pre></td>
  1639. </tr>
  1640.  
  1641. <tr>
  1642. <td>HTTP_ACCEPT_ENCODING</td>
  1643. <td class="code"><pre>&#39;gzip, deflate, sdch, br&#39;</pre></td>
  1644. </tr>
  1645.  
  1646. <tr>
  1647. <td>HTTP_ACCEPT_LANGUAGE</td>
  1648. <td class="code"><pre>&#39;ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4&#39;</pre></td>
  1649. </tr>
  1650.  
  1651. <tr>
  1652. <td>HTTP_CONNECTION</td>
  1653. <td class="code"><pre>&#39;close&#39;</pre></td>
  1654. </tr>
  1655.  
  1656. <tr>
  1657. <td>HTTP_COOKIE</td>
  1658. <td class="code"><pre>(&#39;_ym_uid=1493290227993168218; carrotquest_realtime_services_transport=wss; &#39;
  1659. &#39;_ga=GA1.2.2104518999.1493290227; _gid=GA1.2.330950822.1494829717; &#39;
  1660. &#39;_ym_isad=2; carrotquest_uid=43578361; &#39;
  1661. &#39;carrotquest_auth_token=user.43578361.100-675e2c8860097948c325b680f4da.5d77ad865c7b07230974f4bf1f88cd43493f59dbbc85464d; &#39;
  1662. &#39;carrotquest_auth_token_panel=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;)</pre></td>
  1663. </tr>
  1664.  
  1665. <tr>
  1666. <td>HTTP_HOST</td>
  1667. <td class="code"><pre>&#39;beta-01.carrotquest.io&#39;</pre></td>
  1668. </tr>
  1669.  
  1670. <tr>
  1671. <td>HTTP_ORIGIN</td>
  1672. <td class="code"><pre>&#39;https://beta-01.carrotquest.io&#39;</pre></td>
  1673. </tr>
  1674.  
  1675. <tr>
  1676. <td>HTTP_REFERER</td>
  1677. <td class="code"><pre>&#39;https://beta-01.carrotquest.io/panel/8/settings&#39;</pre></td>
  1678. </tr>
  1679.  
  1680. <tr>
  1681. <td>HTTP_USER_AGENT</td>
  1682. <td class="code"><pre>(&#39;Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) &#39;
  1683. &#39;Chrome/58.0.3029.110 Safari/537.36&#39;)</pre></td>
  1684. </tr>
  1685.  
  1686. <tr>
  1687. <td>HTTP_X_CQ</td>
  1688. <td class="code"><pre>&#39;1234&#39;</pre></td>
  1689. </tr>
  1690.  
  1691. <tr>
  1692. <td>HTTP_X_FORWARDED_FOR</td>
  1693. <td class="code"><pre>&#39;89.250.209.83&#39;</pre></td>
  1694. </tr>
  1695.  
  1696. <tr>
  1697. <td>PATH_INFO</td>
  1698. <td class="code"><pre>&#39;/v1/savedreplies/1&#39;</pre></td>
  1699. </tr>
  1700.  
  1701. <tr>
  1702. <td>QUERY_STRING</td>
  1703. <td class="code"><pre>&#39;auth_token=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;</pre></td>
  1704. </tr>
  1705.  
  1706. <tr>
  1707. <td>RAW_URI</td>
  1708. <td class="code"><pre>&#39;/v1/savedreplies/1?auth_token=panel.23.9645444fefa4eafe3889ba7ae358d2c1eacec35a3796185f&#39;</pre></td>
  1709. </tr>
  1710.  
  1711. <tr>
  1712. <td>REMOTE_ADDR</td>
  1713. <td class="code"><pre>&quot;b&#39;&#39;&quot;</pre></td>
  1714. </tr>
  1715.  
  1716. <tr>
  1717. <td>REQUEST_METHOD</td>
  1718. <td class="code"><pre>&#39;DELETE&#39;</pre></td>
  1719. </tr>
  1720.  
  1721. <tr>
  1722. <td>SCRIPT_NAME</td>
  1723. <td class="code"><pre>&#39;&#39;</pre></td>
  1724. </tr>
  1725.  
  1726. <tr>
  1727. <td>SERVER_NAME</td>
  1728. <td class="code"><pre>&#39;beta-01.carrotquest.io&#39;</pre></td>
  1729. </tr>
  1730.  
  1731. <tr>
  1732. <td>SERVER_PORT</td>
  1733. <td class="code"><pre>&#39;80&#39;</pre></td>
  1734. </tr>
  1735.  
  1736. <tr>
  1737. <td>SERVER_PROTOCOL</td>
  1738. <td class="code"><pre>&#39;HTTP/1.0&#39;</pre></td>
  1739. </tr>
  1740.  
  1741. <tr>
  1742. <td>SERVER_SOFTWARE</td>
  1743. <td class="code"><pre>&#39;gunicorn/19.7.1&#39;</pre></td>
  1744. </tr>
  1745.  
  1746. <tr>
  1747. <td>gunicorn.socket</td>
  1748. <td class="code"><pre>&lt;socket.socket fd=13, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/home/web/run/gunicorn.sock&gt;</pre></td>
  1749. </tr>
  1750.  
  1751. <tr>
  1752. <td>wsgi.errors</td>
  1753. <td class="code"><pre>&lt;gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fcad3e3cda0&gt;</pre></td>
  1754. </tr>
  1755.  
  1756. <tr>
  1757. <td>wsgi.file_wrapper</td>
  1758. <td class="code"><pre>&#39;&#39;</pre></td>
  1759. </tr>
  1760.  
  1761. <tr>
  1762. <td>wsgi.input</td>
  1763. <td class="code"><pre>&lt;gunicorn.http.body.Body object at 0x7fcad3e3c588&gt;</pre></td>
  1764. </tr>
  1765.  
  1766. <tr>
  1767. <td>wsgi.multiprocess</td>
  1768. <td class="code"><pre>True</pre></td>
  1769. </tr>
  1770.  
  1771. <tr>
  1772. <td>wsgi.multithread</td>
  1773. <td class="code"><pre>True</pre></td>
  1774. </tr>
  1775.  
  1776. <tr>
  1777. <td>wsgi.run_once</td>
  1778. <td class="code"><pre>False</pre></td>
  1779. </tr>
  1780.  
  1781. <tr>
  1782. <td>wsgi.url_scheme</td>
  1783. <td class="code"><pre>&#39;http&#39;</pre></td>
  1784. </tr>
  1785.  
  1786. <tr>
  1787. <td>wsgi.version</td>
  1788. <td class="code"><pre>(1, 0)</pre></td>
  1789. </tr>
  1790.  
  1791. </tbody>
  1792. </table>
  1793.  
  1794.  
  1795. <h3 id="settings-info">Settings</h3>
  1796. <h4>Using settings module <code>cqapi.settings</code></h4>
  1797. <table class="req">
  1798. <thead>
  1799. <tr>
  1800. <th>Setting</th>
  1801. <th>Value</th>
  1802. </tr>
  1803. </thead>
  1804. <tbody>
  1805.  
  1806. <tr>
  1807. <td>ABSOLUTE_URL_OVERRIDES</td>
  1808. <td class="code"><pre>{}</pre></td>
  1809. </tr>
  1810.  
  1811. <tr>
  1812. <td>ADMINS</td>
  1813. <td class="code"><pre>[]</pre></td>
  1814. </tr>
  1815.  
  1816. <tr>
  1817. <td>ALLOWED_HOSTS</td>
  1818. <td class="code"><pre>&#39;*&#39;</pre></td>
  1819. </tr>
  1820.  
  1821. <tr>
  1822. <td>ANALYTICS_SCHEDULE</td>
  1823. <td class="code"><pre>{&#39;analytics_update_billing_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 20),
  1824. &#39;task&#39;: &#39;analytics.tasks.update_billing_stats&#39;},
  1825. &#39;analytics_update_conversations_daily_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 30),
  1826. &#39;task&#39;: &#39;analytics.tasks.update_daily_conversations_stats&#39;},
  1827. &#39;analytics_update_events_daily_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 55),
  1828. &#39;task&#39;: &#39;analytics.tasks.update_events_daily_stats&#39;},
  1829. &#39;analytics_update_replies_by_hour_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 30),
  1830. &#39;task&#39;: &#39;analytics.tasks.update_replies_by_hour_stats&#39;},
  1831. &#39;update_conversation_tags_daily_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 30),
  1832. &#39;task&#39;: &#39;analytics.tasks.update_conversation_tags_daily_stats&#39;}}</pre></td>
  1833. </tr>
  1834.  
  1835. <tr>
  1836. <td>APPEND_SLASH</td>
  1837. <td class="code"><pre>True</pre></td>
  1838. </tr>
  1839.  
  1840. <tr>
  1841. <td>AUTHENTICATION_BACKENDS</td>
  1842. <td class="code"><pre>(&#39;django.contrib.auth.backends.ModelBackend&#39;,)</pre></td>
  1843. </tr>
  1844.  
  1845. <tr>
  1846. <td>AUTH_PASSWORD_VALIDATORS</td>
  1847. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1848. </tr>
  1849.  
  1850. <tr>
  1851. <td>AUTH_USER_MODEL</td>
  1852. <td class="code"><pre>&#39;auth.User&#39;</pre></td>
  1853. </tr>
  1854.  
  1855. <tr>
  1856. <td>AWS_ACCESS_KEY_ID</td>
  1857. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1858. </tr>
  1859.  
  1860. <tr>
  1861. <td>AWS_LAMBDA_ACCESS_KEY_ID</td>
  1862. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1863. </tr>
  1864.  
  1865. <tr>
  1866. <td>AWS_LAMBDA_SECRET_ACCESS_KEY</td>
  1867. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1868. </tr>
  1869.  
  1870. <tr>
  1871. <td>AWS_REDSHIFT_PASSWORD</td>
  1872. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1873. </tr>
  1874.  
  1875. <tr>
  1876. <td>AWS_REDSHIFT_S3_ACCESS_KEY_ID</td>
  1877. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1878. </tr>
  1879.  
  1880. <tr>
  1881. <td>AWS_REDSHIFT_S3_ACCESS_KEY_SECRET</td>
  1882. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1883. </tr>
  1884.  
  1885. <tr>
  1886. <td>AWS_REDSHIFT_USER</td>
  1887. <td class="code"><pre>&#39;uploader&#39;</pre></td>
  1888. </tr>
  1889.  
  1890. <tr>
  1891. <td>AWS_SECRET_ACCESS_KEY</td>
  1892. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1893. </tr>
  1894.  
  1895. <tr>
  1896. <td>BASE_DIR</td>
  1897. <td class="code"><pre>&#39;/home/web/cqapi&#39;</pre></td>
  1898. </tr>
  1899.  
  1900. <tr>
  1901. <td>BEEFREE_CLIENT_ID</td>
  1902. <td class="code"><pre>&#39;f738d9c3-4af3-4d54-b380-1952f6adf9a8&#39;</pre></td>
  1903. </tr>
  1904.  
  1905. <tr>
  1906. <td>BEEFREE_CLIENT_SECRET</td>
  1907. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1908. </tr>
  1909.  
  1910. <tr>
  1911. <td>BIGQUERY_DATASET_ID</td>
  1912. <td class="code"><pre>&#39;&#39;</pre></td>
  1913. </tr>
  1914.  
  1915. <tr>
  1916. <td>BIGQUERY_KEY_FILE</td>
  1917. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1918. </tr>
  1919.  
  1920. <tr>
  1921. <td>BIGQUERY_PROJECT_ID</td>
  1922. <td class="code"><pre>&#39;&#39;</pre></td>
  1923. </tr>
  1924.  
  1925. <tr>
  1926. <td>BROKER_URL</td>
  1927. <td class="code"><pre>&#39;amqp://django_user2:aRdev25!@127.0.0.1//&#39;</pre></td>
  1928. </tr>
  1929.  
  1930. <tr>
  1931. <td>CACHEOPS</td>
  1932. <td class="code"><pre>{&#39;*.*&#39;: {&#39;db_agnostic&#39;: False, &#39;ops&#39;: (), &#39;timeout&#39;: 1800},
  1933. &#39;api.authtoken&#39;: &#39;********************&#39;,
  1934. &#39;apps.app&#39;: {&#39;db_agnostic&#39;: False, &#39;ops&#39;: &#39;get&#39;, &#39;timeout&#39;: 1800},
  1935. &#39;apps.settings&#39;: {&#39;db_agnostic&#39;: False, &#39;ops&#39;: &#39;get&#39;, &#39;timeout&#39;: 1800},
  1936. &#39;auth.user&#39;: {&#39;db_agnostic&#39;: False, &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;), &#39;timeout&#39;: 1800},
  1937. &#39;events.autoevent&#39;: {&#39;db_agnostic&#39;: False,
  1938. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1939. &#39;timeout&#39;: 3600},
  1940. &#39;events.event&#39;: {&#39;db_agnostic&#39;: False,
  1941. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1942. &#39;timeout&#39;: 300},
  1943. &#39;events.eventtype&#39;: {&#39;db_agnostic&#39;: False,
  1944. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1945. &#39;timeout&#39;: 1800},
  1946. &#39;integrations.integration&#39;: {&#39;db_agnostic&#39;: False,
  1947. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1948. &#39;timeout&#39;: 1200},
  1949. &#39;messages.conversation&#39;: {&#39;db_agnostic&#39;: False,
  1950. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1951. &#39;timeout&#39;: 1800},
  1952. &#39;messages.conversationpart&#39;: {&#39;db_agnostic&#39;: False,
  1953. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1954. &#39;timeout&#39;: 1800},
  1955. &#39;messages.inboundemail&#39;: {&#39;db_agnostic&#39;: False,
  1956. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1957. &#39;timeout&#39;: 1800},
  1958. &#39;messages.message&#39;: {&#39;db_agnostic&#39;: False,
  1959. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1960. &#39;timeout&#39;: 1800},
  1961. &#39;messages.messagetemplate&#39;: {&#39;db_agnostic&#39;: False,
  1962. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1963. &#39;timeout&#39;: 1800},
  1964. &#39;messages.savedreply&#39;: {&#39;db_agnostic&#39;: False,
  1965. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1966. &#39;timeout&#39;: 1800},
  1967. &#39;messages.tags&#39;: {&#39;db_agnostic&#39;: False,
  1968. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1969. &#39;timeout&#39;: 1800},
  1970. &#39;panel.djangouserprofile&#39;: {&#39;db_agnostic&#39;: False,
  1971. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1972. &#39;timeout&#39;: 1800},
  1973. &#39;users.user&#39;: {&#39;db_agnostic&#39;: False, &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;), &#39;timeout&#39;: 1800},
  1974. &#39;users.userappauth&#39;: {&#39;db_agnostic&#39;: False,
  1975. &#39;ops&#39;: (&#39;fetch&#39;, &#39;get&#39;),
  1976. &#39;timeout&#39;: 86400}}</pre></td>
  1977. </tr>
  1978.  
  1979. <tr>
  1980. <td>CACHEOPS_REDIS</td>
  1981. <td class="code"><pre>{&#39;db&#39;: 3, &#39;host&#39;: &#39;127.0.0.1&#39;, &#39;port&#39;: 6379, &#39;socket_timeout&#39;: 3}</pre></td>
  1982. </tr>
  1983.  
  1984. <tr>
  1985. <td>CACHES</td>
  1986. <td class="code"><pre>{&#39;default&#39;: {&#39;BACKEND&#39;: &#39;django.core.cache.backends.locmem.LocMemCache&#39;}}</pre></td>
  1987. </tr>
  1988.  
  1989. <tr>
  1990. <td>CACHE_MIDDLEWARE_ALIAS</td>
  1991. <td class="code"><pre>&#39;default&#39;</pre></td>
  1992. </tr>
  1993.  
  1994. <tr>
  1995. <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
  1996. <td class="code"><pre>&#39;********************&#39;</pre></td>
  1997. </tr>
  1998.  
  1999. <tr>
  2000. <td>CACHE_MIDDLEWARE_SECONDS</td>
  2001. <td class="code"><pre>600</pre></td>
  2002. </tr>
  2003.  
  2004. <tr>
  2005. <td>CARROTQUEST_API_KEY</td>
  2006. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2007. </tr>
  2008.  
  2009. <tr>
  2010. <td>CARROTQUEST_API_SECRET</td>
  2011. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2012. </tr>
  2013.  
  2014. <tr>
  2015. <td>CARROTQUEST_USER_AUTH_KEY</td>
  2016. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2017. </tr>
  2018.  
  2019. <tr>
  2020. <td>CELERYBEAT_SCHEDULE</td>
  2021. <td class="code"><pre>{&#39;analytics_update_billing_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 20),
  2022. &#39;task&#39;: &#39;analytics.tasks.update_billing_stats&#39;},
  2023. &#39;analytics_update_conversations_daily_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 30),
  2024. &#39;task&#39;: &#39;analytics.tasks.update_daily_conversations_stats&#39;},
  2025. &#39;analytics_update_day&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 7200),
  2026. &#39;task&#39;: &#39;events.tasks.aggevents_process_day&#39;},
  2027. &#39;analytics_update_events_daily_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 55),
  2028. &#39;task&#39;: &#39;analytics.tasks.update_events_daily_stats&#39;},
  2029. &#39;analytics_update_replies_by_hour_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 30),
  2030. &#39;task&#39;: &#39;analytics.tasks.update_replies_by_hour_stats&#39;},
  2031. &#39;analytics_update_week_month&#39;: {&#39;schedule&#39;: &lt;crontab: 0 23 * * * (m/h/d/dM/MY)&gt;,
  2032. &#39;task&#39;: &#39;events.tasks.aggevents_process_week_month&#39;},
  2033. &#39;billing_block_apps&#39;: {&#39;schedule&#39;: &lt;crontab: 0 8 * * * (m/h/d/dM/MY)&gt;,
  2034. &#39;task&#39;: &#39;billing.tasks.block_apps&#39;},
  2035. &#39;billing_process_payment_due&#39;: {&#39;schedule&#39;: &lt;crontab: 0 7 * * * (m/h/d/dM/MY)&gt;,
  2036. &#39;task&#39;: &#39;billing.tasks.process_payment_due&#39;},
  2037. &#39;billing_usage_notofications&#39;: {&#39;schedule&#39;: &lt;crontab: 0 10 * * * (m/h/d/dM/MY)&gt;,
  2038. &#39;task&#39;: &#39;billing.tasks.send_usage_notifications_apps&#39;},
  2039. &#39;clickhouse_auto_sync&#39;: {&#39;options&#39;: {&#39;expires&#39;: 1},
  2040. &#39;schedule&#39;: datetime.timedelta(0, 2),
  2041. &#39;task&#39;: &#39;utils.tasks.clickhouse_auto_sync&#39;},
  2042. &#39;create_change_data_events&#39;: {&#39;options&#39;: {&#39;expires&#39;: 3},
  2043. &#39;schedule&#39;: datetime.timedelta(0, 5),
  2044. &#39;task&#39;: &#39;users.tasks.create_change_data_events&#39;},
  2045. &#39;delayed_message_delivery&#39;: {&#39;options&#39;: {&#39;expires&#39;: 3},
  2046. &#39;schedule&#39;: datetime.timedelta(0, 5),
  2047. &#39;task&#39;: &#39;messages.tasks.process_delayed_delivery&#39;},
  2048. &#39;final_close_conversations&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 60),
  2049. &#39;task&#39;: &#39;messages.tasks.final_close_conversations&#39;},
  2050. &#39;messagestats_update_bulk_incr&#39;: {&#39;options&#39;: {&#39;expires&#39;: 28},
  2051. &#39;schedule&#39;: datetime.timedelta(0, 30),
  2052. &#39;task&#39;: &#39;messages.tasks.messagestats_update_bulk_incr&#39;},
  2053. &#39;ping_message&#39;: {&#39;options&#39;: {&#39;expires&#39;: 9},
  2054. &#39;schedule&#39;: datetime.timedelta(0, 10),
  2055. &#39;task&#39;: &#39;utils.tasks.ping_message&#39;},
  2056. &#39;process_1day_apps&#39;: {&#39;schedule&#39;: &lt;crontab: 30 1 * * * (m/h/d/dM/MY)&gt;,
  2057. &#39;task&#39;: &#39;apps.tasks.process_1day_apps&#39;},
  2058. &#39;process_admin_presence&#39;: {&#39;options&#39;: {&#39;expires&#39;: 55},
  2059. &#39;schedule&#39;: datetime.timedelta(0, 60),
  2060. &#39;task&#39;: &#39;panel.tasks.process_admin_presence&#39;},
  2061. &#39;process_django_user_notifications&#39;: {&#39;options&#39;: {&#39;expires&#39;: 28},
  2062. &#39;schedule&#39;: datetime.timedelta(0, 30),
  2063. &#39;task&#39;: &#39;messages.tasks.process_django_user_notifications&#39;},
  2064. &#39;rts_push_set_user_presence&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 1),
  2065. &#39;task&#39;: &#39;users.tasks.rts_push_set_user_presence&#39;},
  2066. &#39;update_conversation_tags_daily_stats&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 30),
  2067. &#39;task&#39;: &#39;analytics.tasks.update_conversation_tags_daily_stats&#39;},
  2068. &#39;upload_redshift_events&#39;: {&#39;schedule&#39;: datetime.timedelta(0, 60),
  2069. &#39;task&#39;: &#39;events.tasks.upload_redshift_events&#39;},
  2070. &#39;user_notifications_process&#39;: {&#39;options&#39;: {&#39;expires&#39;: 15},
  2071. &#39;schedule&#39;: datetime.timedelta(0, 20),
  2072. &#39;task&#39;: &#39;messages.tasks.user_notifications_process&#39;},
  2073. &#39;user_props_contacts_changed&#39;: {&#39;options&#39;: {&#39;expires&#39;: 2},
  2074. &#39;schedule&#39;: datetime.timedelta(0, 2),
  2075. &#39;task&#39;: &#39;utils.tasks.users_props_contacts_changed&#39;},
  2076. &#39;users_clear_expired_sessions&#39;: {&#39;options&#39;: {&#39;expires&#39;: 10},
  2077. &#39;schedule&#39;: datetime.timedelta(0, 4),
  2078. &#39;task&#39;: &#39;users.tasks.clear_expired_sessions&#39;},
  2079. &#39;users_es_push&#39;: {&#39;options&#39;: {&#39;expires&#39;: 5},
  2080. &#39;schedule&#39;: datetime.timedelta(0, 7),
  2081. &#39;task&#39;: &#39;users.tasks.users_es_push&#39;}}</pre></td>
  2082. </tr>
  2083.  
  2084. <tr>
  2085. <td>CELERY_ACCEPT_CONTENT</td>
  2086. <td class="code"><pre>{&#39;pickle&#39;}</pre></td>
  2087. </tr>
  2088.  
  2089. <tr>
  2090. <td>CELERY_RESULT_SERIALIZER</td>
  2091. <td class="code"><pre>&#39;pickle&#39;</pre></td>
  2092. </tr>
  2093.  
  2094. <tr>
  2095. <td>CELERY_TASK_SERIALIZER</td>
  2096. <td class="code"><pre>&#39;pickle&#39;</pre></td>
  2097. </tr>
  2098.  
  2099. <tr>
  2100. <td>CENTRAL_DB</td>
  2101. <td class="code"><pre>&#39;default&#39;</pre></td>
  2102. </tr>
  2103.  
  2104. <tr>
  2105. <td>CLICKHOUSE</td>
  2106. <td class="code"><pre>{&#39;db_name&#39;: &#39;carrot&#39;,
  2107. &#39;db_url&#39;: &#39;http://127.0.0.1:8123&#39;,
  2108. &#39;password&#39;: &#39;********************&#39;,
  2109. &#39;username&#39;: &#39;&#39;}</pre></td>
  2110. </tr>
  2111.  
  2112. <tr>
  2113. <td>CLICKHOUSE_DB</td>
  2114. <td class="code"><pre>&lt;infi.clickhouse_orm.database.Database object at 0x7fcaf2244dd8&gt;</pre></td>
  2115. </tr>
  2116.  
  2117. <tr>
  2118. <td>CLICKHOUSE_INSERT_SIZE</td>
  2119. <td class="code"><pre>10000</pre></td>
  2120. </tr>
  2121.  
  2122. <tr>
  2123. <td>CLOUDPAYMENTS_API_KEY</td>
  2124. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2125. </tr>
  2126.  
  2127. <tr>
  2128. <td>CLOUDPAYMENTS_PUBLIC_ID</td>
  2129. <td class="code"><pre>&#39;pk_ebc352f41bae1c5bff34a99c29b28&#39;</pre></td>
  2130. </tr>
  2131.  
  2132. <tr>
  2133. <td>CORS_ALLOW_METHODS</td>
  2134. <td class="code"><pre>(&#39;GET&#39;, &#39;POST&#39;, &#39;PUT&#39;, &#39;PATCH&#39;, &#39;DELETE&#39;, &#39;OPTIONS&#39;)</pre></td>
  2135. </tr>
  2136.  
  2137. <tr>
  2138. <td>CORS_ORIGIN_ALLOW_ALL</td>
  2139. <td class="code"><pre>True</pre></td>
  2140. </tr>
  2141.  
  2142. <tr>
  2143. <td>CSRF_COOKIE_AGE</td>
  2144. <td class="code"><pre>31449600</pre></td>
  2145. </tr>
  2146.  
  2147. <tr>
  2148. <td>CSRF_COOKIE_DOMAIN</td>
  2149. <td class="code"><pre>None</pre></td>
  2150. </tr>
  2151.  
  2152. <tr>
  2153. <td>CSRF_COOKIE_HTTPONLY</td>
  2154. <td class="code"><pre>False</pre></td>
  2155. </tr>
  2156.  
  2157. <tr>
  2158. <td>CSRF_COOKIE_NAME</td>
  2159. <td class="code"><pre>&#39;debug_csrftoken&#39;</pre></td>
  2160. </tr>
  2161.  
  2162. <tr>
  2163. <td>CSRF_COOKIE_PATH</td>
  2164. <td class="code"><pre>&#39;/&#39;</pre></td>
  2165. </tr>
  2166.  
  2167. <tr>
  2168. <td>CSRF_COOKIE_SECURE</td>
  2169. <td class="code"><pre>False</pre></td>
  2170. </tr>
  2171.  
  2172. <tr>
  2173. <td>CSRF_FAILURE_VIEW</td>
  2174. <td class="code"><pre>&#39;django.views.csrf.csrf_failure&#39;</pre></td>
  2175. </tr>
  2176.  
  2177. <tr>
  2178. <td>CSRF_HEADER_NAME</td>
  2179. <td class="code"><pre>&#39;HTTP_X_CSRFTOKEN&#39;</pre></td>
  2180. </tr>
  2181.  
  2182. <tr>
  2183. <td>CSRF_TRUSTED_ORIGINS</td>
  2184. <td class="code"><pre>[]</pre></td>
  2185. </tr>
  2186.  
  2187. <tr>
  2188. <td>CSRF_USE_SESSIONS</td>
  2189. <td class="code"><pre>False</pre></td>
  2190. </tr>
  2191.  
  2192. <tr>
  2193. <td>DATABASES</td>
  2194. <td class="code"><pre>{&#39;analytics_db&#39;: {&#39;ATOMIC_REQUESTS&#39;: False,
  2195. &#39;AUTOCOMMIT&#39;: True,
  2196. &#39;CONN_MAX_AGE&#39;: None,
  2197. &#39;ENGINE&#39;: &#39;django.db.backends.postgresql_psycopg2&#39;,
  2198. &#39;HOST&#39;: &#39;127.0.0.1&#39;,
  2199. &#39;NAME&#39;: &#39;carrot_analytics&#39;,
  2200. &#39;OPTIONS&#39;: {},
  2201. &#39;PASSWORD&#39;: &#39;********************&#39;,
  2202. &#39;PORT&#39;: &#39;&#39;,
  2203. &#39;TEST&#39;: {&#39;CHARSET&#39;: None,
  2204. &#39;COLLATION&#39;: None,
  2205. &#39;MIRROR&#39;: None,
  2206. &#39;NAME&#39;: None},
  2207. &#39;TIME_ZONE&#39;: None,
  2208. &#39;USER&#39;: &#39;django_user&#39;},
  2209. &#39;default&#39;: {&#39;ATOMIC_REQUESTS&#39;: False,
  2210. &#39;AUTOCOMMIT&#39;: True,
  2211. &#39;CONN_MAX_AGE&#39;: None,
  2212. &#39;ENGINE&#39;: &#39;django.db.backends.postgresql_psycopg2&#39;,
  2213. &#39;HOST&#39;: &#39;127.0.0.1&#39;,
  2214. &#39;NAME&#39;: &#39;carrot&#39;,
  2215. &#39;OPTIONS&#39;: {},
  2216. &#39;PASSWORD&#39;: &#39;********************&#39;,
  2217. &#39;PORT&#39;: &#39;&#39;,
  2218. &#39;TEST&#39;: {&#39;CHARSET&#39;: None,
  2219. &#39;COLLATION&#39;: None,
  2220. &#39;MIRROR&#39;: None,
  2221. &#39;NAME&#39;: None},
  2222. &#39;TIME_ZONE&#39;: None,
  2223. &#39;USER&#39;: &#39;django_user&#39;},
  2224. &#39;default_replica&#39;: {&#39;ATOMIC_REQUESTS&#39;: False,
  2225. &#39;AUTOCOMMIT&#39;: True,
  2226. &#39;CONN_MAX_AGE&#39;: None,
  2227. &#39;ENGINE&#39;: &#39;django.db.backends.postgresql_psycopg2&#39;,
  2228. &#39;HOST&#39;: &#39;127.0.0.1&#39;,
  2229. &#39;NAME&#39;: &#39;carrot&#39;,
  2230. &#39;OPTIONS&#39;: {},
  2231. &#39;PASSWORD&#39;: &#39;********************&#39;,
  2232. &#39;PORT&#39;: &#39;&#39;,
  2233. &#39;TEST&#39;: {&#39;CHARSET&#39;: None,
  2234. &#39;COLLATION&#39;: None,
  2235. &#39;MIRROR&#39;: None,
  2236. &#39;NAME&#39;: None},
  2237. &#39;TIME_ZONE&#39;: None,
  2238. &#39;USER&#39;: &#39;django_user&#39;},
  2239. &#39;shard1&#39;: {&#39;ATOMIC_REQUESTS&#39;: False,
  2240. &#39;AUTOCOMMIT&#39;: True,
  2241. &#39;CONN_MAX_AGE&#39;: None,
  2242. &#39;ENGINE&#39;: &#39;django.db.backends.postgresql_psycopg2&#39;,
  2243. &#39;HOST&#39;: &#39;127.0.0.1&#39;,
  2244. &#39;NAME&#39;: &#39;carrot&#39;,
  2245. &#39;OPTIONS&#39;: {},
  2246. &#39;PASSWORD&#39;: &#39;********************&#39;,
  2247. &#39;PORT&#39;: &#39;&#39;,
  2248. &#39;TEST&#39;: {&#39;CHARSET&#39;: None,
  2249. &#39;COLLATION&#39;: None,
  2250. &#39;MIRROR&#39;: None,
  2251. &#39;NAME&#39;: None},
  2252. &#39;TIME_ZONE&#39;: None,
  2253. &#39;USER&#39;: &#39;django_user&#39;}}</pre></td>
  2254. </tr>
  2255.  
  2256. <tr>
  2257. <td>DATABASE_ROUTERS</td>
  2258. <td class="code"><pre>[&#39;cqapi.database_routers.AnalyticsRouter&#39;,
  2259. &#39;cqapi.database_routers.ShardingRouter&#39;]</pre></td>
  2260. </tr>
  2261.  
  2262. <tr>
  2263. <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
  2264. <td class="code"><pre>2621440</pre></td>
  2265. </tr>
  2266.  
  2267. <tr>
  2268. <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
  2269. <td class="code"><pre>1000</pre></td>
  2270. </tr>
  2271.  
  2272. <tr>
  2273. <td>DATETIME_FORMAT</td>
  2274. <td class="code"><pre>&#39;N j, Y, P&#39;</pre></td>
  2275. </tr>
  2276.  
  2277. <tr>
  2278. <td>DATETIME_INPUT_FORMATS</td>
  2279. <td class="code"><pre>[&#39;%Y-%m-%d %H:%M:%S&#39;,
  2280. &#39;%Y-%m-%d %H:%M:%S.%f&#39;,
  2281. &#39;%Y-%m-%d %H:%M&#39;,
  2282. &#39;%Y-%m-%d&#39;,
  2283. &#39;%m/%d/%Y %H:%M:%S&#39;,
  2284. &#39;%m/%d/%Y %H:%M:%S.%f&#39;,
  2285. &#39;%m/%d/%Y %H:%M&#39;,
  2286. &#39;%m/%d/%Y&#39;,
  2287. &#39;%m/%d/%y %H:%M:%S&#39;,
  2288. &#39;%m/%d/%y %H:%M:%S.%f&#39;,
  2289. &#39;%m/%d/%y %H:%M&#39;,
  2290. &#39;%m/%d/%y&#39;]</pre></td>
  2291. </tr>
  2292.  
  2293. <tr>
  2294. <td>DATE_FORMAT</td>
  2295. <td class="code"><pre>&#39;N j, Y&#39;</pre></td>
  2296. </tr>
  2297.  
  2298. <tr>
  2299. <td>DATE_INPUT_FORMATS</td>
  2300. <td class="code"><pre>[&#39;%Y-%m-%d&#39;,
  2301. &#39;%m/%d/%Y&#39;,
  2302. &#39;%m/%d/%y&#39;,
  2303. &#39;%b %d %Y&#39;,
  2304. &#39;%b %d, %Y&#39;,
  2305. &#39;%d %b %Y&#39;,
  2306. &#39;%d %b, %Y&#39;,
  2307. &#39;%B %d %Y&#39;,
  2308. &#39;%B %d, %Y&#39;,
  2309. &#39;%d %B %Y&#39;,
  2310. &#39;%d %B, %Y&#39;]</pre></td>
  2311. </tr>
  2312.  
  2313. <tr>
  2314. <td>DB_SHARD</td>
  2315. <td class="code"><pre>&#39;shard1&#39;</pre></td>
  2316. </tr>
  2317.  
  2318. <tr>
  2319. <td>DEBUG</td>
  2320. <td class="code"><pre>True</pre></td>
  2321. </tr>
  2322.  
  2323. <tr>
  2324. <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
  2325. <td class="code"><pre>False</pre></td>
  2326. </tr>
  2327.  
  2328. <tr>
  2329. <td>DEBUG_TOOLBAR_CONFIG</td>
  2330. <td class="code"><pre>{&#39;SHOW_TOOLBAR_CALLBACK&#39;: &lt;function &lt;lambda&gt; at 0x7fcaf10eeae8&gt;}</pre></td>
  2331. </tr>
  2332.  
  2333. <tr>
  2334. <td>DEBUG_TOOLBAR_PANELS</td>
  2335. <td class="code"><pre>[&#39;debug_toolbar.panels.versions.VersionsPanel&#39;,
  2336. &#39;debug_toolbar.panels.timer.TimerPanel&#39;,
  2337. &#39;debug_toolbar.panels.settings.SettingsPanel&#39;,
  2338. &#39;debug_toolbar.panels.headers.HeadersPanel&#39;,
  2339. &#39;debug_toolbar.panels.request.RequestPanel&#39;,
  2340. &#39;debug_toolbar.panels.sql.SQLPanel&#39;,
  2341. &#39;debug_toolbar.panels.staticfiles.StaticFilesPanel&#39;,
  2342. &#39;debug_toolbar.panels.templates.TemplatesPanel&#39;,
  2343. &#39;debug_toolbar.panels.cache.CachePanel&#39;,
  2344. &#39;debug_toolbar.panels.signals.SignalsPanel&#39;,
  2345. &#39;debug_toolbar.panels.logging.LoggingPanel&#39;,
  2346. &#39;debug_toolbar.panels.redirects.RedirectsPanel&#39;]</pre></td>
  2347. </tr>
  2348.  
  2349. <tr>
  2350. <td>DECIMAL_SEPARATOR</td>
  2351. <td class="code"><pre>&#39;.&#39;</pre></td>
  2352. </tr>
  2353.  
  2354. <tr>
  2355. <td>DEFAULT_CHARSET</td>
  2356. <td class="code"><pre>&#39;utf-8&#39;</pre></td>
  2357. </tr>
  2358.  
  2359. <tr>
  2360. <td>DEFAULT_CONTENT_TYPE</td>
  2361. <td class="code"><pre>&#39;text/html&#39;</pre></td>
  2362. </tr>
  2363.  
  2364. <tr>
  2365. <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
  2366. <td class="code"><pre>&#39;django.views.debug.SafeExceptionReporterFilter&#39;</pre></td>
  2367. </tr>
  2368.  
  2369. <tr>
  2370. <td>DEFAULT_FILE_STORAGE</td>
  2371. <td class="code"><pre>&#39;django.core.files.storage.FileSystemStorage&#39;</pre></td>
  2372. </tr>
  2373.  
  2374. <tr>
  2375. <td>DEFAULT_FROM_EMAIL</td>
  2376. <td class="code"><pre>&#39;webmaster@localhost&#39;</pre></td>
  2377. </tr>
  2378.  
  2379. <tr>
  2380. <td>DEFAULT_INDEX_TABLESPACE</td>
  2381. <td class="code"><pre>&#39;&#39;</pre></td>
  2382. </tr>
  2383.  
  2384. <tr>
  2385. <td>DEFAULT_TABLESPACE</td>
  2386. <td class="code"><pre>&#39;&#39;</pre></td>
  2387. </tr>
  2388.  
  2389. <tr>
  2390. <td>DISALLOWED_USER_AGENTS</td>
  2391. <td class="code"><pre>[]</pre></td>
  2392. </tr>
  2393.  
  2394. <tr>
  2395. <td>ELASTICSEARCH_DEFAULT_INDEX</td>
  2396. <td class="code"><pre>&#39;users&#39;</pre></td>
  2397. </tr>
  2398.  
  2399. <tr>
  2400. <td>ELASTICSEARCH_DEFAULT_MAPPING</td>
  2401. <td class="code"><pre>{&#39;_all&#39;: {&#39;enabled&#39;: False},
  2402. &#39;_routing&#39;: {&#39;path&#39;: &#39;app_id&#39;, &#39;required&#39;: True},
  2403. &#39;dynamic&#39;: &#39;strict&#39;}</pre></td>
  2404. </tr>
  2405.  
  2406. <tr>
  2407. <td>ELASTICSEARCH_SETTINGS</td>
  2408. <td class="code"><pre>{&#39;analysis&#39;: {&#39;analyzer&#39;: {&#39;indexNgram&#39;: {&#39;filter&#39;: [&#39;lowercase&#39;,
  2409. &#39;ngramFilter&#39;],
  2410. &#39;tokenizer&#39;: &#39;********************&#39;,
  2411. &#39;type&#39;: &#39;custom&#39;},
  2412. &#39;lowerAnalyzer&#39;: {&#39;filter&#39;: [&#39;lowercase&#39;],
  2413. &#39;tokenizer&#39;: &#39;********************&#39;,
  2414. &#39;type&#39;: &#39;custom&#39;},
  2415. &#39;searchNgram&#39;: {&#39;filter&#39;: [&#39;lowercase&#39;],
  2416. &#39;tokenizer&#39;: &#39;********************&#39;,
  2417. &#39;type&#39;: &#39;custom&#39;}},
  2418. &#39;filter&#39;: {&#39;ngramFilter&#39;: {&#39;__doc__&#39;: None,
  2419. &#39;__module__&#39;: &#39;utils.elasticsearch.filters&#39;,
  2420. &#39;max_gram&#39;: 15,
  2421. &#39;mig_gram&#39;: 3,
  2422. &#39;type&#39;: &#39;nGram&#39;}}},
  2423. &#39;number_of_shards&#39;: 5}</pre></td>
  2424. </tr>
  2425.  
  2426. <tr>
  2427. <td>ELASTICSEARCH_URL</td>
  2428. <td class="code"><pre>[{&#39;host&#39;: &#39;localhost&#39;, &#39;port&#39;: 9200}]</pre></td>
  2429. </tr>
  2430.  
  2431. <tr>
  2432. <td>EMAIL_BACKEND</td>
  2433. <td class="code"><pre>&#39;django.core.mail.backends.smtp.EmailBackend&#39;</pre></td>
  2434. </tr>
  2435.  
  2436. <tr>
  2437. <td>EMAIL_HOST</td>
  2438. <td class="code"><pre>&#39;smtp.mailgun.org&#39;</pre></td>
  2439. </tr>
  2440.  
  2441. <tr>
  2442. <td>EMAIL_HOST_PASSWORD</td>
  2443. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2444. </tr>
  2445.  
  2446. <tr>
  2447. <td>EMAIL_HOST_USER</td>
  2448. <td class="code"><pre>&#39;postmaster@carrotquest.io&#39;</pre></td>
  2449. </tr>
  2450.  
  2451. <tr>
  2452. <td>EMAIL_PORT</td>
  2453. <td class="code"><pre>587</pre></td>
  2454. </tr>
  2455.  
  2456. <tr>
  2457. <td>EMAIL_SSL_CERTFILE</td>
  2458. <td class="code"><pre>None</pre></td>
  2459. </tr>
  2460.  
  2461. <tr>
  2462. <td>EMAIL_SSL_KEYFILE</td>
  2463. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2464. </tr>
  2465.  
  2466. <tr>
  2467. <td>EMAIL_SUBJECT_PREFIX</td>
  2468. <td class="code"><pre>&#39;[Django] &#39;</pre></td>
  2469. </tr>
  2470.  
  2471. <tr>
  2472. <td>EMAIL_TIMEOUT</td>
  2473. <td class="code"><pre>None</pre></td>
  2474. </tr>
  2475.  
  2476. <tr>
  2477. <td>EMAIL_USE_LOCALTIME</td>
  2478. <td class="code"><pre>False</pre></td>
  2479. </tr>
  2480.  
  2481. <tr>
  2482. <td>EMAIL_USE_SSL</td>
  2483. <td class="code"><pre>False</pre></td>
  2484. </tr>
  2485.  
  2486. <tr>
  2487. <td>EMAIL_USE_TLS</td>
  2488. <td class="code"><pre>False</pre></td>
  2489. </tr>
  2490.  
  2491. <tr>
  2492. <td>ES_SCROLL_FETCHES_BULK_EMAIL_LIMIT</td>
  2493. <td class="code"><pre>400</pre></td>
  2494. </tr>
  2495.  
  2496. <tr>
  2497. <td>ES_SCROLL_FETCHES_LIMIT</td>
  2498. <td class="code"><pre>100</pre></td>
  2499. </tr>
  2500.  
  2501. <tr>
  2502. <td>ES_SCROLL_SIZE</td>
  2503. <td class="code"><pre>100</pre></td>
  2504. </tr>
  2505.  
  2506. <tr>
  2507. <td>FB_CLIENT_ID</td>
  2508. <td class="code"><pre>None</pre></td>
  2509. </tr>
  2510.  
  2511. <tr>
  2512. <td>FB_CLIENT_SECRET</td>
  2513. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2514. </tr>
  2515.  
  2516. <tr>
  2517. <td>FILE_CHARSET</td>
  2518. <td class="code"><pre>&#39;utf-8&#39;</pre></td>
  2519. </tr>
  2520.  
  2521. <tr>
  2522. <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
  2523. <td class="code"><pre>None</pre></td>
  2524. </tr>
  2525.  
  2526. <tr>
  2527. <td>FILE_UPLOAD_HANDLERS</td>
  2528. <td class="code"><pre>[&#39;django.core.files.uploadhandler.MemoryFileUploadHandler&#39;,
  2529. &#39;django.core.files.uploadhandler.TemporaryFileUploadHandler&#39;]</pre></td>
  2530. </tr>
  2531.  
  2532. <tr>
  2533. <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
  2534. <td class="code"><pre>2621440</pre></td>
  2535. </tr>
  2536.  
  2537. <tr>
  2538. <td>FILE_UPLOAD_PERMISSIONS</td>
  2539. <td class="code"><pre>None</pre></td>
  2540. </tr>
  2541.  
  2542. <tr>
  2543. <td>FILE_UPLOAD_TEMP_DIR</td>
  2544. <td class="code"><pre>None</pre></td>
  2545. </tr>
  2546.  
  2547. <tr>
  2548. <td>FIRST_DAY_OF_WEEK</td>
  2549. <td class="code"><pre>0</pre></td>
  2550. </tr>
  2551.  
  2552. <tr>
  2553. <td>FIXTURE_DIRS</td>
  2554. <td class="code"><pre>[]</pre></td>
  2555. </tr>
  2556.  
  2557. <tr>
  2558. <td>FORCE_SCRIPT_NAME</td>
  2559. <td class="code"><pre>None</pre></td>
  2560. </tr>
  2561.  
  2562. <tr>
  2563. <td>FORMAT_MODULE_PATH</td>
  2564. <td class="code"><pre>None</pre></td>
  2565. </tr>
  2566.  
  2567. <tr>
  2568. <td>FORM_RENDERER</td>
  2569. <td class="code"><pre>&#39;django.forms.renderers.DjangoTemplates&#39;</pre></td>
  2570. </tr>
  2571.  
  2572. <tr>
  2573. <td>FULLCONTACT_API_KEY</td>
  2574. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2575. </tr>
  2576.  
  2577. <tr>
  2578. <td>FULLCONTACT_TOKEN</td>
  2579. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2580. </tr>
  2581.  
  2582. <tr>
  2583. <td>GEOAPI</td>
  2584. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2585. </tr>
  2586.  
  2587. <tr>
  2588. <td>GEOAPI_DB_PATH</td>
  2589. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2590. </tr>
  2591.  
  2592. <tr>
  2593. <td>GOOGLE_CLIENT_ID</td>
  2594. <td class="code"><pre>&#39;44569780138-5ttc4sulbmgb0hupmmvp6sa62embufnk.apps.googleusercontent.com&#39;</pre></td>
  2595. </tr>
  2596.  
  2597. <tr>
  2598. <td>GOOGLE_CLIENT_SECRET</td>
  2599. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2600. </tr>
  2601.  
  2602. <tr>
  2603. <td>GOOGLE_DOCS_CREDENTIALS</td>
  2604. <td class="code"><pre>{&#39;client_email&#39;: &#39;561950027934-4io6ruj9s1llbklce7qp77790647l75o@developer.gserviceaccount.com&#39;,
  2605. &#39;client_id&#39;: &#39;561950027934-4io6ruj9s1llbklce7qp77790647l75o.apps.googleusercontent.com&#39;,
  2606. &#39;private_key&#39;: &#39;********************&#39;,
  2607. &#39;private_key_id&#39;: &#39;********************&#39;,
  2608. &#39;type&#39;: &#39;service_account&#39;}</pre></td>
  2609. </tr>
  2610.  
  2611. <tr>
  2612. <td>HOST_API</td>
  2613. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2614. </tr>
  2615.  
  2616. <tr>
  2617. <td>HOST_CDN</td>
  2618. <td class="code"><pre>&#39;localhost/cdn&#39;</pre></td>
  2619. </tr>
  2620.  
  2621. <tr>
  2622. <td>HOST_DEFAULT</td>
  2623. <td class="code"><pre>&#39;localhost&#39;</pre></td>
  2624. </tr>
  2625.  
  2626. <tr>
  2627. <td>HOST_MESSAGES_STATIC</td>
  2628. <td class="code"><pre>&#39;http://cqmessages.s3-eu-west-1.amazonaws.com/&#39;</pre></td>
  2629. </tr>
  2630.  
  2631. <tr>
  2632. <td>IGNORABLE_404_URLS</td>
  2633. <td class="code"><pre>[]</pre></td>
  2634. </tr>
  2635.  
  2636. <tr>
  2637. <td>INSTALLED_APPS</td>
  2638. <td class="code"><pre>(&#39;cacheops&#39;,
  2639. &#39;corsheaders&#39;,
  2640. &#39;django.contrib.auth&#39;,
  2641. &#39;django.contrib.admin&#39;,
  2642. &#39;django.contrib.contenttypes&#39;,
  2643. &#39;django.contrib.sessions&#39;,
  2644. &#39;django.contrib.postgres&#39;,
  2645. &#39;rest_framework&#39;,
  2646. &#39;api&#39;,
  2647. &#39;apps&#39;,
  2648. &#39;users&#39;,
  2649. &#39;utils&#39;,
  2650. &#39;panel&#39;,
  2651. &#39;events&#39;,
  2652. &#39;messages&#39;,
  2653. &#39;integrations&#39;,
  2654. &#39;billing&#39;,
  2655. &#39;analytics&#39;,
  2656. &#39;django.contrib.staticfiles&#39;,
  2657. &#39;debug_toolbar&#39;)</pre></td>
  2658. </tr>
  2659.  
  2660. <tr>
  2661. <td>INTERNAL_IPS</td>
  2662. <td class="code"><pre>[]</pre></td>
  2663. </tr>
  2664.  
  2665. <tr>
  2666. <td>LANGUAGES</td>
  2667. <td class="code"><pre>[(&#39;af&#39;, &#39;Afrikaans&#39;),
  2668. (&#39;ar&#39;, &#39;Arabic&#39;),
  2669. (&#39;ast&#39;, &#39;Asturian&#39;),
  2670. (&#39;az&#39;, &#39;Azerbaijani&#39;),
  2671. (&#39;bg&#39;, &#39;Bulgarian&#39;),
  2672. (&#39;be&#39;, &#39;Belarusian&#39;),
  2673. (&#39;bn&#39;, &#39;Bengali&#39;),
  2674. (&#39;br&#39;, &#39;Breton&#39;),
  2675. (&#39;bs&#39;, &#39;Bosnian&#39;),
  2676. (&#39;ca&#39;, &#39;Catalan&#39;),
  2677. (&#39;cs&#39;, &#39;Czech&#39;),
  2678. (&#39;cy&#39;, &#39;Welsh&#39;),
  2679. (&#39;da&#39;, &#39;Danish&#39;),
  2680. (&#39;de&#39;, &#39;German&#39;),
  2681. (&#39;dsb&#39;, &#39;Lower Sorbian&#39;),
  2682. (&#39;el&#39;, &#39;Greek&#39;),
  2683. (&#39;en&#39;, &#39;English&#39;),
  2684. (&#39;en-au&#39;, &#39;Australian English&#39;),
  2685. (&#39;en-gb&#39;, &#39;British English&#39;),
  2686. (&#39;eo&#39;, &#39;Esperanto&#39;),
  2687. (&#39;es&#39;, &#39;Spanish&#39;),
  2688. (&#39;es-ar&#39;, &#39;Argentinian Spanish&#39;),
  2689. (&#39;es-co&#39;, &#39;Colombian Spanish&#39;),
  2690. (&#39;es-mx&#39;, &#39;Mexican Spanish&#39;),
  2691. (&#39;es-ni&#39;, &#39;Nicaraguan Spanish&#39;),
  2692. (&#39;es-ve&#39;, &#39;Venezuelan Spanish&#39;),
  2693. (&#39;et&#39;, &#39;Estonian&#39;),
  2694. (&#39;eu&#39;, &#39;Basque&#39;),
  2695. (&#39;fa&#39;, &#39;Persian&#39;),
  2696. (&#39;fi&#39;, &#39;Finnish&#39;),
  2697. (&#39;fr&#39;, &#39;French&#39;),
  2698. (&#39;fy&#39;, &#39;Frisian&#39;),
  2699. (&#39;ga&#39;, &#39;Irish&#39;),
  2700. (&#39;gd&#39;, &#39;Scottish Gaelic&#39;),
  2701. (&#39;gl&#39;, &#39;Galician&#39;),
  2702. (&#39;he&#39;, &#39;Hebrew&#39;),
  2703. (&#39;hi&#39;, &#39;Hindi&#39;),
  2704. (&#39;hr&#39;, &#39;Croatian&#39;),
  2705. (&#39;hsb&#39;, &#39;Upper Sorbian&#39;),
  2706. (&#39;hu&#39;, &#39;Hungarian&#39;),
  2707. (&#39;ia&#39;, &#39;Interlingua&#39;),
  2708. (&#39;id&#39;, &#39;Indonesian&#39;),
  2709. (&#39;io&#39;, &#39;Ido&#39;),
  2710. (&#39;is&#39;, &#39;Icelandic&#39;),
  2711. (&#39;it&#39;, &#39;Italian&#39;),
  2712. (&#39;ja&#39;, &#39;Japanese&#39;),
  2713. (&#39;ka&#39;, &#39;Georgian&#39;),
  2714. (&#39;kk&#39;, &#39;Kazakh&#39;),
  2715. (&#39;km&#39;, &#39;Khmer&#39;),
  2716. (&#39;kn&#39;, &#39;Kannada&#39;),
  2717. (&#39;ko&#39;, &#39;Korean&#39;),
  2718. (&#39;lb&#39;, &#39;Luxembourgish&#39;),
  2719. (&#39;lt&#39;, &#39;Lithuanian&#39;),
  2720. (&#39;lv&#39;, &#39;Latvian&#39;),
  2721. (&#39;mk&#39;, &#39;Macedonian&#39;),
  2722. (&#39;ml&#39;, &#39;Malayalam&#39;),
  2723. (&#39;mn&#39;, &#39;Mongolian&#39;),
  2724. (&#39;mr&#39;, &#39;Marathi&#39;),
  2725. (&#39;my&#39;, &#39;Burmese&#39;),
  2726. (&#39;nb&#39;, &#39;Norwegian Bokmål&#39;),
  2727. (&#39;ne&#39;, &#39;Nepali&#39;),
  2728. (&#39;nl&#39;, &#39;Dutch&#39;),
  2729. (&#39;nn&#39;, &#39;Norwegian Nynorsk&#39;),
  2730. (&#39;os&#39;, &#39;Ossetic&#39;),
  2731. (&#39;pa&#39;, &#39;Punjabi&#39;),
  2732. (&#39;pl&#39;, &#39;Polish&#39;),
  2733. (&#39;pt&#39;, &#39;Portuguese&#39;),
  2734. (&#39;pt-br&#39;, &#39;Brazilian Portuguese&#39;),
  2735. (&#39;ro&#39;, &#39;Romanian&#39;),
  2736. (&#39;ru&#39;, &#39;Russian&#39;),
  2737. (&#39;sk&#39;, &#39;Slovak&#39;),
  2738. (&#39;sl&#39;, &#39;Slovenian&#39;),
  2739. (&#39;sq&#39;, &#39;Albanian&#39;),
  2740. (&#39;sr&#39;, &#39;Serbian&#39;),
  2741. (&#39;sr-latn&#39;, &#39;Serbian Latin&#39;),
  2742. (&#39;sv&#39;, &#39;Swedish&#39;),
  2743. (&#39;sw&#39;, &#39;Swahili&#39;),
  2744. (&#39;ta&#39;, &#39;Tamil&#39;),
  2745. (&#39;te&#39;, &#39;Telugu&#39;),
  2746. (&#39;th&#39;, &#39;Thai&#39;),
  2747. (&#39;tr&#39;, &#39;Turkish&#39;),
  2748. (&#39;tt&#39;, &#39;Tatar&#39;),
  2749. (&#39;udm&#39;, &#39;Udmurt&#39;),
  2750. (&#39;uk&#39;, &#39;Ukrainian&#39;),
  2751. (&#39;ur&#39;, &#39;Urdu&#39;),
  2752. (&#39;vi&#39;, &#39;Vietnamese&#39;),
  2753. (&#39;zh-hans&#39;, &#39;Simplified Chinese&#39;),
  2754. (&#39;zh-hant&#39;, &#39;Traditional Chinese&#39;)]</pre></td>
  2755. </tr>
  2756.  
  2757. <tr>
  2758. <td>LANGUAGES_BIDI</td>
  2759. <td class="code"><pre>[&#39;he&#39;, &#39;ar&#39;, &#39;fa&#39;, &#39;ur&#39;]</pre></td>
  2760. </tr>
  2761.  
  2762. <tr>
  2763. <td>LANGUAGE_CODE</td>
  2764. <td class="code"><pre>&#39;en-us&#39;</pre></td>
  2765. </tr>
  2766.  
  2767. <tr>
  2768. <td>LANGUAGE_COOKIE_AGE</td>
  2769. <td class="code"><pre>None</pre></td>
  2770. </tr>
  2771.  
  2772. <tr>
  2773. <td>LANGUAGE_COOKIE_DOMAIN</td>
  2774. <td class="code"><pre>None</pre></td>
  2775. </tr>
  2776.  
  2777. <tr>
  2778. <td>LANGUAGE_COOKIE_NAME</td>
  2779. <td class="code"><pre>&#39;django_language&#39;</pre></td>
  2780. </tr>
  2781.  
  2782. <tr>
  2783. <td>LANGUAGE_COOKIE_PATH</td>
  2784. <td class="code"><pre>&#39;/&#39;</pre></td>
  2785. </tr>
  2786.  
  2787. <tr>
  2788. <td>LOCALE_PATHS</td>
  2789. <td class="code"><pre>[]</pre></td>
  2790. </tr>
  2791.  
  2792. <tr>
  2793. <td>LOGGING</td>
  2794. <td class="code"><pre>{&#39;disable_existing_loggers&#39;: False,
  2795. &#39;handlers&#39;: {&#39;console&#39;: {&#39;class&#39;: &#39;logging.StreamHandler&#39;}},
  2796. &#39;loggers&#39;: {&#39;cq&#39;: {&#39;handlers&#39;: [&#39;console&#39;], &#39;level&#39;: &#39;INFO&#39;}},
  2797. &#39;version&#39;: 1}</pre></td>
  2798. </tr>
  2799.  
  2800. <tr>
  2801. <td>LOGGING_CONFIG</td>
  2802. <td class="code"><pre>&#39;logging.config.dictConfig&#39;</pre></td>
  2803. </tr>
  2804.  
  2805. <tr>
  2806. <td>LOGIN_REDIRECT_URL</td>
  2807. <td class="code"><pre>&#39;/accounts/profile/&#39;</pre></td>
  2808. </tr>
  2809.  
  2810. <tr>
  2811. <td>LOGIN_URL</td>
  2812. <td class="code"><pre>&#39;/accounts/login/&#39;</pre></td>
  2813. </tr>
  2814.  
  2815. <tr>
  2816. <td>LOGOUT_REDIRECT_URL</td>
  2817. <td class="code"><pre>None</pre></td>
  2818. </tr>
  2819.  
  2820. <tr>
  2821. <td>LOG_REQUESTS</td>
  2822. <td class="code"><pre>False</pre></td>
  2823. </tr>
  2824.  
  2825. <tr>
  2826. <td>MAILGUN_API_KEY</td>
  2827. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2828. </tr>
  2829.  
  2830. <tr>
  2831. <td>MANAGERS</td>
  2832. <td class="code"><pre>[]</pre></td>
  2833. </tr>
  2834.  
  2835. <tr>
  2836. <td>MAX_USER_TAGS_LIMIT</td>
  2837. <td class="code"><pre>20000</pre></td>
  2838. </tr>
  2839.  
  2840. <tr>
  2841. <td>MEDIA_ROOT</td>
  2842. <td class="code"><pre>&#39;&#39;</pre></td>
  2843. </tr>
  2844.  
  2845. <tr>
  2846. <td>MEDIA_URL</td>
  2847. <td class="code"><pre>&#39;&#39;</pre></td>
  2848. </tr>
  2849.  
  2850. <tr>
  2851. <td>MESSAGE_STORAGE</td>
  2852. <td class="code"><pre>&#39;django.contrib.messages.storage.fallback.FallbackStorage&#39;</pre></td>
  2853. </tr>
  2854.  
  2855. <tr>
  2856. <td>MIDDLEWARE</td>
  2857. <td class="code"><pre>(&#39;corsheaders.middleware.CorsMiddleware&#39;,
  2858. &#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,
  2859. &#39;django.middleware.common.CommonMiddleware&#39;,
  2860. &#39;django.middleware.csrf.CsrfViewMiddleware&#39;,
  2861. &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,
  2862. &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,
  2863. &#39;utils.middleware.CORSMiddleware&#39;,
  2864. &#39;utils.middleware.ExceptionLoggingMiddleware&#39;,
  2865. &#39;utils.middleware.NonHtmlDebugToolbarMiddleware&#39;)</pre></td>
  2866. </tr>
  2867.  
  2868. <tr>
  2869. <td>MIDDLEWARE_CLASSES</td>
  2870. <td class="code"><pre>[&#39;django.middleware.common.CommonMiddleware&#39;,
  2871. &#39;django.middleware.csrf.CsrfViewMiddleware&#39;]</pre></td>
  2872. </tr>
  2873.  
  2874. <tr>
  2875. <td>MIGRATION_MODULES</td>
  2876. <td class="code"><pre>{}</pre></td>
  2877. </tr>
  2878.  
  2879. <tr>
  2880. <td>MODE_MEMORY</td>
  2881. <td class="code"><pre>1</pre></td>
  2882. </tr>
  2883.  
  2884. <tr>
  2885. <td>MONTH_DAY_FORMAT</td>
  2886. <td class="code"><pre>&#39;F j&#39;</pre></td>
  2887. </tr>
  2888.  
  2889. <tr>
  2890. <td>NEWRELIC_LICENSE_KEY</td>
  2891. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2892. </tr>
  2893.  
  2894. <tr>
  2895. <td>NUMBER_GROUPING</td>
  2896. <td class="code"><pre>0</pre></td>
  2897. </tr>
  2898.  
  2899. <tr>
  2900. <td>PARSE_API_KEY</td>
  2901. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2902. </tr>
  2903.  
  2904. <tr>
  2905. <td>PARSE_APP_ID</td>
  2906. <td class="code"><pre>&#39;fvDVH1H461PrWMQ4BHU8QmPzaE4BTp6PExIvaKsS&#39;</pre></td>
  2907. </tr>
  2908.  
  2909. <tr>
  2910. <td>PASSWORD_HASHERS</td>
  2911. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2912. </tr>
  2913.  
  2914. <tr>
  2915. <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
  2916. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2917. </tr>
  2918.  
  2919. <tr>
  2920. <td>PREPEND_WWW</td>
  2921. <td class="code"><pre>False</pre></td>
  2922. </tr>
  2923.  
  2924. <tr>
  2925. <td>RAVEN_CONFIG</td>
  2926. <td class="code"><pre>{&#39;dsn&#39;: &#39;&#39;}</pre></td>
  2927. </tr>
  2928.  
  2929. <tr>
  2930. <td>REALTIME_REDIS</td>
  2931. <td class="code"><pre>&#39;realtime-services-01.carrotquest.io&#39;</pre></td>
  2932. </tr>
  2933.  
  2934. <tr>
  2935. <td>REALTIME_SERVICES_HOST</td>
  2936. <td class="code"><pre>&#39;aa.test.carrotquest.io&#39;</pre></td>
  2937. </tr>
  2938.  
  2939. <tr>
  2940. <td>REALTIME_SERVICES_HOST_V2</td>
  2941. <td class="code"><pre>&#39;aa.test.carrotquest.io&#39;</pre></td>
  2942. </tr>
  2943.  
  2944. <tr>
  2945. <td>REDIS</td>
  2946. <td class="code"><pre>StrictRedis&lt;ConnectionPool&lt;Connection&lt;host=127.0.0.1,port=6379,db=0&gt;&gt;&gt;</pre></td>
  2947. </tr>
  2948.  
  2949. <tr>
  2950. <td>REDIS_GLOBAL</td>
  2951. <td class="code"><pre>StrictRedis&lt;ConnectionPool&lt;Connection&lt;host=127.0.0.1,port=6379,db=6&gt;&gt;&gt;</pre></td>
  2952. </tr>
  2953.  
  2954. <tr>
  2955. <td>REQUEST_NONCE_TIMEOUT</td>
  2956. <td class="code"><pre>300</pre></td>
  2957. </tr>
  2958.  
  2959. <tr>
  2960. <td>REST_FRAMEWORK</td>
  2961. <td class="code"><pre>{&#39;DEFAULT_AUTHENTICATION_CLASSES&#39;: (),
  2962. &#39;DEFAULT_RENDERER_CLASSES&#39;: (&#39;api.renderers.JSONRenderer&#39;,),
  2963. &#39;EXCEPTION_HANDLER&#39;: &#39;utils.views.rest_framework_exception_handler&#39;}</pre></td>
  2964. </tr>
  2965.  
  2966. <tr>
  2967. <td>ROOT_URLCONF</td>
  2968. <td class="code"><pre>&#39;cqapi.urls&#39;</pre></td>
  2969. </tr>
  2970.  
  2971. <tr>
  2972. <td>S3_BUCKET_AVATARS</td>
  2973. <td class="code"><pre>&#39;carrotquestavatarstest&#39;</pre></td>
  2974. </tr>
  2975.  
  2976. <tr>
  2977. <td>SECRET_KEY</td>
  2978. <td class="code"><pre>&#39;********************&#39;</pre></td>
  2979. </tr>
  2980.  
  2981. <tr>
  2982. <td>SECURE_BROWSER_XSS_FILTER</td>
  2983. <td class="code"><pre>False</pre></td>
  2984. </tr>
  2985.  
  2986. <tr>
  2987. <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
  2988. <td class="code"><pre>False</pre></td>
  2989. </tr>
  2990.  
  2991. <tr>
  2992. <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
  2993. <td class="code"><pre>False</pre></td>
  2994. </tr>
  2995.  
  2996. <tr>
  2997. <td>SECURE_HSTS_PRELOAD</td>
  2998. <td class="code"><pre>False</pre></td>
  2999. </tr>
  3000.  
  3001. <tr>
  3002. <td>SECURE_HSTS_SECONDS</td>
  3003. <td class="code"><pre>0</pre></td>
  3004. </tr>
  3005.  
  3006. <tr>
  3007. <td>SECURE_PROXY_SSL_HEADER</td>
  3008. <td class="code"><pre>None</pre></td>
  3009. </tr>
  3010.  
  3011. <tr>
  3012. <td>SECURE_REDIRECT_EXEMPT</td>
  3013. <td class="code"><pre>[]</pre></td>
  3014. </tr>
  3015.  
  3016. <tr>
  3017. <td>SECURE_SSL_HOST</td>
  3018. <td class="code"><pre>None</pre></td>
  3019. </tr>
  3020.  
  3021. <tr>
  3022. <td>SECURE_SSL_REDIRECT</td>
  3023. <td class="code"><pre>False</pre></td>
  3024. </tr>
  3025.  
  3026. <tr>
  3027. <td>SELECTEL_STORAGE_PASSWORD</td>
  3028. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3029. </tr>
  3030.  
  3031. <tr>
  3032. <td>SELECTEL_STORAGE_USER</td>
  3033. <td class="code"><pre>&#39;34906_maks&#39;</pre></td>
  3034. </tr>
  3035.  
  3036. <tr>
  3037. <td>SERVER_EMAIL</td>
  3038. <td class="code"><pre>&#39;django500@carrotquest.io&#39;</pre></td>
  3039. </tr>
  3040.  
  3041. <tr>
  3042. <td>SESSION_CACHE_ALIAS</td>
  3043. <td class="code"><pre>&#39;default&#39;</pre></td>
  3044. </tr>
  3045.  
  3046. <tr>
  3047. <td>SESSION_COOKIE_AGE</td>
  3048. <td class="code"><pre>12960000</pre></td>
  3049. </tr>
  3050.  
  3051. <tr>
  3052. <td>SESSION_COOKIE_DOMAIN</td>
  3053. <td class="code"><pre>None</pre></td>
  3054. </tr>
  3055.  
  3056. <tr>
  3057. <td>SESSION_COOKIE_HTTPONLY</td>
  3058. <td class="code"><pre>True</pre></td>
  3059. </tr>
  3060.  
  3061. <tr>
  3062. <td>SESSION_COOKIE_NAME</td>
  3063. <td class="code"><pre>&#39;debug_sessionid&#39;</pre></td>
  3064. </tr>
  3065.  
  3066. <tr>
  3067. <td>SESSION_COOKIE_PATH</td>
  3068. <td class="code"><pre>&#39;/&#39;</pre></td>
  3069. </tr>
  3070.  
  3071. <tr>
  3072. <td>SESSION_COOKIE_SECURE</td>
  3073. <td class="code"><pre>False</pre></td>
  3074. </tr>
  3075.  
  3076. <tr>
  3077. <td>SESSION_ENGINE</td>
  3078. <td class="code"><pre>&#39;django.contrib.sessions.backends.db&#39;</pre></td>
  3079. </tr>
  3080.  
  3081. <tr>
  3082. <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
  3083. <td class="code"><pre>False</pre></td>
  3084. </tr>
  3085.  
  3086. <tr>
  3087. <td>SESSION_FILE_PATH</td>
  3088. <td class="code"><pre>None</pre></td>
  3089. </tr>
  3090.  
  3091. <tr>
  3092. <td>SESSION_SAVE_EVERY_REQUEST</td>
  3093. <td class="code"><pre>False</pre></td>
  3094. </tr>
  3095.  
  3096. <tr>
  3097. <td>SESSION_SERIALIZER</td>
  3098. <td class="code"><pre>&#39;django.contrib.sessions.serializers.JSONSerializer&#39;</pre></td>
  3099. </tr>
  3100.  
  3101. <tr>
  3102. <td>SETTINGS_MODULE</td>
  3103. <td class="code"><pre>&#39;cqapi.settings&#39;</pre></td>
  3104. </tr>
  3105.  
  3106. <tr>
  3107. <td>SHARD_ID</td>
  3108. <td class="code"><pre>1</pre></td>
  3109. </tr>
  3110.  
  3111. <tr>
  3112. <td>SHORT_DATETIME_FORMAT</td>
  3113. <td class="code"><pre>&#39;m/d/Y P&#39;</pre></td>
  3114. </tr>
  3115.  
  3116. <tr>
  3117. <td>SHORT_DATE_FORMAT</td>
  3118. <td class="code"><pre>&#39;m/d/Y&#39;</pre></td>
  3119. </tr>
  3120.  
  3121. <tr>
  3122. <td>SIGNING_BACKEND</td>
  3123. <td class="code"><pre>&#39;django.core.signing.TimestampSigner&#39;</pre></td>
  3124. </tr>
  3125.  
  3126. <tr>
  3127. <td>SILENCED_SYSTEM_CHECKS</td>
  3128. <td class="code"><pre>[]</pre></td>
  3129. </tr>
  3130.  
  3131. <tr>
  3132. <td>SLACK_BILLING_HOOK</td>
  3133. <td class="code"><pre>&#39;https://hooks.slack.com/services/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&#39;</pre></td>
  3134. </tr>
  3135.  
  3136. <tr>
  3137. <td>STATICFILES_DIRS</td>
  3138. <td class="code"><pre>[]</pre></td>
  3139. </tr>
  3140.  
  3141. <tr>
  3142. <td>STATICFILES_FINDERS</td>
  3143. <td class="code"><pre>[&#39;django.contrib.staticfiles.finders.FileSystemFinder&#39;,
  3144. &#39;django.contrib.staticfiles.finders.AppDirectoriesFinder&#39;]</pre></td>
  3145. </tr>
  3146.  
  3147. <tr>
  3148. <td>STATICFILES_STORAGE</td>
  3149. <td class="code"><pre>&#39;django.contrib.staticfiles.storage.StaticFilesStorage&#39;</pre></td>
  3150. </tr>
  3151.  
  3152. <tr>
  3153. <td>STATIC_ROOT</td>
  3154. <td class="code"><pre>&#39;/home/web/cqstatic/static&#39;</pre></td>
  3155. </tr>
  3156.  
  3157. <tr>
  3158. <td>STATIC_URL</td>
  3159. <td class="code"><pre>&#39;/static/&#39;</pre></td>
  3160. </tr>
  3161.  
  3162. <tr>
  3163. <td>STATSD_HOST</td>
  3164. <td class="code"><pre>&#39;127.0.0.1&#39;</pre></td>
  3165. </tr>
  3166.  
  3167. <tr>
  3168. <td>TEMPLATES</td>
  3169. <td class="code"><pre>[{&#39;APP_DIRS&#39;: True,
  3170. &#39;BACKEND&#39;: &#39;django.template.backends.django.DjangoTemplates&#39;,
  3171. &#39;DIRS&#39;: [],
  3172. &#39;OPTIONS&#39;: {&#39;context_processors&#39;: [&#39;django.contrib.auth.context_processors.auth&#39;,
  3173. &#39;django.template.context_processors.debug&#39;,
  3174. &#39;django.template.context_processors.i18n&#39;,
  3175. &#39;django.template.context_processors.media&#39;,
  3176. &#39;django.template.context_processors.static&#39;,
  3177. &#39;django.template.context_processors.tz&#39;,
  3178. &#39;django.contrib.messages.context_processors.messages&#39;]}}]</pre></td>
  3179. </tr>
  3180.  
  3181. <tr>
  3182. <td>TEST_APP_IDS</td>
  3183. <td class="code"><pre>[1, 7, 8]</pre></td>
  3184. </tr>
  3185.  
  3186. <tr>
  3187. <td>TEST_NON_SERIALIZED_APPS</td>
  3188. <td class="code"><pre>[]</pre></td>
  3189. </tr>
  3190.  
  3191. <tr>
  3192. <td>TEST_RUNNER</td>
  3193. <td class="code"><pre>&#39;django.test.runner.DiscoverRunner&#39;</pre></td>
  3194. </tr>
  3195.  
  3196. <tr>
  3197. <td>THOUSAND_SEPARATOR</td>
  3198. <td class="code"><pre>&#39;,&#39;</pre></td>
  3199. </tr>
  3200.  
  3201. <tr>
  3202. <td>TIME_FORMAT</td>
  3203. <td class="code"><pre>&#39;P&#39;</pre></td>
  3204. </tr>
  3205.  
  3206. <tr>
  3207. <td>TIME_INPUT_FORMATS</td>
  3208. <td class="code"><pre>[&#39;%H:%M:%S&#39;, &#39;%H:%M:%S.%f&#39;, &#39;%H:%M&#39;]</pre></td>
  3209. </tr>
  3210.  
  3211. <tr>
  3212. <td>TIME_ZONE</td>
  3213. <td class="code"><pre>&#39;UTC&#39;</pre></td>
  3214. </tr>
  3215.  
  3216. <tr>
  3217. <td>TW_CLIENT_ID</td>
  3218. <td class="code"><pre>None</pre></td>
  3219. </tr>
  3220.  
  3221. <tr>
  3222. <td>TW_CLIENT_SECRET</td>
  3223. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3224. </tr>
  3225.  
  3226. <tr>
  3227. <td>USER_PROPS_AUTH_TOKEN</td>
  3228. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3229. </tr>
  3230.  
  3231. <tr>
  3232. <td>USER_TOKEN_SECRET_KEY</td>
  3233. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3234. </tr>
  3235.  
  3236. <tr>
  3237. <td>USE_ETAGS</td>
  3238. <td class="code"><pre>False</pre></td>
  3239. </tr>
  3240.  
  3241. <tr>
  3242. <td>USE_I18N</td>
  3243. <td class="code"><pre>True</pre></td>
  3244. </tr>
  3245.  
  3246. <tr>
  3247. <td>USE_L10N</td>
  3248. <td class="code"><pre>True</pre></td>
  3249. </tr>
  3250.  
  3251. <tr>
  3252. <td>USE_THOUSAND_SEPARATOR</td>
  3253. <td class="code"><pre>False</pre></td>
  3254. </tr>
  3255.  
  3256. <tr>
  3257. <td>USE_TZ</td>
  3258. <td class="code"><pre>True</pre></td>
  3259. </tr>
  3260.  
  3261. <tr>
  3262. <td>USE_X_FORWARDED_HOST</td>
  3263. <td class="code"><pre>False</pre></td>
  3264. </tr>
  3265.  
  3266. <tr>
  3267. <td>USE_X_FORWARDED_PORT</td>
  3268. <td class="code"><pre>False</pre></td>
  3269. </tr>
  3270.  
  3271. <tr>
  3272. <td>VK_CLIENT_ID</td>
  3273. <td class="code"><pre>None</pre></td>
  3274. </tr>
  3275.  
  3276. <tr>
  3277. <td>VK_CLIENT_SECRET</td>
  3278. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3279. </tr>
  3280.  
  3281. <tr>
  3282. <td>WSGI_APPLICATION</td>
  3283. <td class="code"><pre>&#39;cqapi.wsgi.application&#39;</pre></td>
  3284. </tr>
  3285.  
  3286. <tr>
  3287. <td>X_FRAME_OPTIONS</td>
  3288. <td class="code"><pre>&#39;SAMEORIGIN&#39;</pre></td>
  3289. </tr>
  3290.  
  3291. <tr>
  3292. <td>YANDEX_MONEY_SECRET</td>
  3293. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3294. </tr>
  3295.  
  3296. <tr>
  3297. <td>YANDEX_SHOP_ID</td>
  3298. <td class="code"><pre>35809</pre></td>
  3299. </tr>
  3300.  
  3301. <tr>
  3302. <td>YANDEX_SHOP_PASSWORD</td>
  3303. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3304. </tr>
  3305.  
  3306. <tr>
  3307. <td>YEAR_MONTH_FORMAT</td>
  3308. <td class="code"><pre>&#39;F Y&#39;</pre></td>
  3309. </tr>
  3310.  
  3311. </tbody>
  3312. </table>
  3313.  
  3314. </div>
  3315.  
  3316. <div id="explanation">
  3317. <p>
  3318. You're seeing this error because you have <code>DEBUG = True</code> in your
  3319. Django settings file. Change that to <code>False</code>, and Django will
  3320. display a standard page generated by the handler for this status code.
  3321. </p>
  3322. </div>
  3323.  
  3324. </body>
  3325. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement