· 10 years ago · Aug 25, 2016, 01:08 PM
1
2
3<!DOCTYPE html>
4<html lang="en">
5<head>
6 <meta http-equiv="content-type" content="text/html; charset=utf-8">
7 <meta name="robots" content="NONE,NOARCHIVE">
8 <title>AttributeError at /en/</title>
9 <style type="text/css">
10 html * { padding:0; margin:0; }
11 body * { padding:10px 20px; }
12 body * * { padding:0; }
13 body { font:small sans-serif; }
14 body>div { border-bottom:1px solid #ddd; }
15 h1 { font-weight:normal; }
16 h2 { margin-bottom:.8em; }
17 h2 span { font-size:80%; color:#666; font-weight:normal; }
18 h3 { margin:1em 0 .5em 0; }
19 h4 { margin:0 0 .5em 0; font-weight: normal; }
20 code, pre { font-size: 100%; white-space: pre-wrap; }
21 table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
22 tbody td, tbody th { vertical-align:top; padding:2px 3px; }
23 thead th {
24 padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
25 font-weight:normal; font-size:11px; border:1px solid #ddd;
26 }
27 tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
28 table.vars { margin:5px 0 2px 40px; }
29 table.vars td, table.req td { font-family:monospace; }
30 table td.code { width:100%; }
31 table td.code pre { overflow:hidden; }
32 table.source th { color:#666; }
33 table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
34 ul.traceback { list-style-type:none; color: #222; }
35 ul.traceback li.frame { padding-bottom:1em; color:#666; }
36 ul.traceback li.user { background-color:#e0e0e0; color:#000 }
37 div.context { padding:10px 0; overflow:hidden; }
38 div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
39 div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
40 div.context ol li pre { display:inline; }
41 div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
42 div.context ol.context-line li span { position:absolute; right:32px; }
43 .user div.context ol.context-line li { background-color:#bbb; color:#000; }
44 .user div.context ol li { color:#666; }
45 div.commands { margin-left: 40px; }
46 div.commands a { color:#555; text-decoration:none; }
47 .user div.commands a { color: black; }
48 #summary { background: #ffc; }
49 #summary h2 { font-weight: normal; color: #666; }
50 #explanation { background:#eee; }
51 #template, #template-not-exist { background:#f6f6f6; }
52 #template-not-exist ul { margin: 0 0 10px 20px; }
53 #template-not-exist .postmortem-section { margin-bottom: 3px; }
54 #unicode-hint { background:#eee; }
55 #traceback { background:#eee; }
56 #requestinfo { background:#f6f6f6; padding-left:120px; }
57 #summary table { border:none; background:transparent; }
58 #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
59 #requestinfo h3 { margin-bottom:-1em; }
60 .error { background: #ffc; }
61 .specific { color:#cc3300; font-weight:bold; }
62 h2 span.commands { font-size:.7em;}
63 span.commands a:link {color:#5E5694;}
64 pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
65 .append-bottom { margin-bottom: 10px; }
66 </style>
67
68 <script type="text/javascript">
69 //<!--
70 function getElementsByClassName(oElm, strTagName, strClassName){
71 // Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
72 var arrElements = (strTagName == "*" && document.all)? document.all :
73 oElm.getElementsByTagName(strTagName);
74 var arrReturnElements = new Array();
75 strClassName = strClassName.replace(/\-/g, "\-");
76 var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
77 var oElement;
78 for(var i=0; i<arrElements.length; i++){
79 oElement = arrElements[i];
80 if(oRegExp.test(oElement.className)){
81 arrReturnElements.push(oElement);
82 }
83 }
84 return (arrReturnElements)
85 }
86 function hideAll(elems) {
87 for (var e = 0; e < elems.length; e++) {
88 elems[e].style.display = 'none';
89 }
90 }
91 window.onload = function() {
92 hideAll(getElementsByClassName(document, 'table', 'vars'));
93 hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
94 hideAll(getElementsByClassName(document, 'ol', 'post-context'));
95 hideAll(getElementsByClassName(document, 'div', 'pastebin'));
96 }
97 function toggle() {
98 for (var i = 0; i < arguments.length; i++) {
99 var e = document.getElementById(arguments[i]);
100 if (e) {
101 e.style.display = e.style.display == 'none' ? 'block': 'none';
102 }
103 }
104 return false;
105 }
106 function varToggle(link, id) {
107 toggle('v' + id);
108 var s = link.getElementsByTagName('span')[0];
109 var uarr = String.fromCharCode(0x25b6);
110 var darr = String.fromCharCode(0x25bc);
111 s.innerHTML = s.innerHTML == uarr ? darr : uarr;
112 return false;
113 }
114 function switchPastebinFriendly(link) {
115 s1 = "Switch to copy-and-paste view";
116 s2 = "Switch back to interactive view";
117 link.innerHTML = link.innerHTML.trim() == s1 ? s2: s1;
118 toggle('browserTraceback', 'pastebinTraceback');
119 return false;
120 }
121 //-->
122 </script>
123
124</head>
125<body>
126<div id="summary">
127 <h1>AttributeError at /en/</h1>
128 <pre class="exception_value">'int' object has no attribute 'is_nan'</pre>
129 <table class="meta">
130
131 <tr>
132 <th>Request Method:</th>
133 <td>GET</td>
134 </tr>
135 <tr>
136 <th>Request URL:</th>
137 <td>http://127.0.0.1:8015/en/</td>
138 </tr>
139
140 <tr>
141 <th>Django Version:</th>
142 <td>1.9.7</td>
143 </tr>
144
145 <tr>
146 <th>Exception Type:</th>
147 <td>AttributeError</td>
148 </tr>
149
150
151 <tr>
152 <th>Exception Value:</th>
153 <td><pre>'int' object has no attribute 'is_nan'</pre></td>
154 </tr>
155
156
157 <tr>
158 <th>Exception Location:</th>
159 <td>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/shop/money/fields.py in get_db_prep_save, line 106</td>
160 </tr>
161
162 <tr>
163 <th>Python Executable:</th>
164 <td>/Users/dacianpopute/.virtualenvs/myjumla/bin/python</td>
165 </tr>
166 <tr>
167 <th>Python Version:</th>
168 <td>2.7.10</td>
169 </tr>
170 <tr>
171 <th>Python Path:</th>
172 <td><pre>['/Users/dacianpopute/dev/myjumla/myjumla',
173 '/Users/dacianpopute/dev/myjumla/myjumla/reorder',
174 '/Users/dacianpopute/dev/myjumla/myjumla/newsletter',
175 '/Users/dacianpopute/dev/myjumla/myjumla/service_charge',
176 '/Users/dacianpopute/dev/myjumla',
177 '/Users/dacianpopute/dev/myjumla/myjumla/base',
178 '/Users/dacianpopute/dev/myjumla/myjumla/campaign',
179 '/Users/dacianpopute/dev/myjumla/myjumla/discussion',
180 '/Users/dacianpopute/dev/myjumla/myjumla/jumla_shop',
181 '/Users/dacianpopute/dev/myjumla/myjumla/utils',
182 '/Users/dacianpopute/dev/myjumla/myjumla/vendor',
183 '/Users/dacianpopute/dev/myjumla/myjumla/config',
184 '/Users/dacianpopute/.virtualenvs/myjumla/lib/python27.zip',
185 '/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7',
186 '/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/plat-darwin',
187 '/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/plat-mac',
188 '/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/plat-mac/lib-scriptpackages',
189 '/Users/dacianpopute/.virtualenvs/myjumla/Extras/lib/python',
190 '/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/lib-tk',
191 '/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/lib-old',
192 '/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/lib-dynload',
193 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
194 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
195 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
196 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
197 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
198 '/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages',
199 '/Users/dacianpopute/.virtualenvs/myjumla/src/djngo-shop']</pre></td>
200 </tr>
201 <tr>
202 <th>Server time:</th>
203 <td>Thu, 25 Aug 2016 16:05:35 +0300</td>
204 </tr>
205 </table>
206</div>
207
208
209
210<div id="template">
211 <h2>Error during template rendering</h2>
212 <p>In template <code>/Users/dacianpopute/dev/myjumla/myjumla/templates/homepage/index.html</code>, error at line <strong>16</strong></p>
213 <h3>'int' object has no attribute 'is_nan'</h3>
214 <table class="source cut-top
215 cut-bottom">
216
217
218 <tr><th>6</th>
219 <td> {% static_placeholder 'main_banner' %}
220</td></tr>
221
222
223
224 <tr><th>7</th>
225 <td>
226</td></tr>
227
228
229
230 <tr><th>8</th>
231 <td> <section class="latest-products mobile">
232</td></tr>
233
234
235
236 <tr><th>9</th>
237 <td> <h1>{% trans 'Latest added products' %} {% static_placeholder 'view_products_link' %}</h1>
238</td></tr>
239
240
241
242 <tr><th>10</th>
243 <td> <div class="row">
244</td></tr>
245
246
247
248 <tr><th>11</th>
249 <td> {% for product in products %}
250</td></tr>
251
252
253
254 <tr><th>12</th>
255 <td> <div class="col-sm-4 col-xs-6">
256</td></tr>
257
258
259
260 <tr><th>13</th>
261 <td> <div class="pro-item">
262</td></tr>
263
264
265
266 <tr><th>14</th>
267 <td> <div class="image">
268</td></tr>
269
270
271
272 <tr><th>15</th>
273 <td> {% if product.image %}
274</td></tr>
275
276
277
278 <tr class="error"><th>16</th>
279 <td> {% thumbnail product.ima<span class="specific">ge 370x180 upsc</span>ale crop="smart" as thumb %}
280</td>
281 </tr>
282
283
284
285 <tr><th>17</th>
286 <td> <img src="{{ thumb.url }}">
287</td></tr>
288
289
290
291 <tr><th>18</th>
292 <td> {% else %}
293</td></tr>
294
295
296
297 <tr><th>19</th>
298 <td> <img src="{% static 'images/no-thumbnail.jpg' %}">
299</td></tr>
300
301
302
303 <tr><th>20</th>
304 <td> {% endif %}
305</td></tr>
306
307
308
309 <tr><th>21</th>
310 <td> </div>
311</td></tr>
312
313
314
315 <tr><th>22</th>
316 <td> <a href="{{ product.get_absolute_url }}" class="title">{{ product.product_name }}</a>
317</td></tr>
318
319
320
321 <tr><th>23</th>
322 <td> <div class="details">
323</td></tr>
324
325
326
327 <tr><th>24</th>
328 <td> {% if product.is_promotional %}
329</td></tr>
330
331
332
333 <tr><th>25</th>
334 <td> <div class="price red">{{ product.promotional_price }} {% trans 'KD' %} / {{ product.unit_type.name }}
335</td></tr>
336
337
338
339 <tr><th>26</th>
340 <td> <span class="discount">{{ product.unit_price }} {% trans 'KD' %} / {{ product.unit_type.name }}</span>
341</td></tr>
342
343
344 </table>
345</div>
346
347
348<div id="traceback">
349 <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
350 Switch to copy-and-paste view</a></span>
351 </h2>
352
353 <div id="browserTraceback">
354 <ul class="traceback">
355
356
357 <li class="frame django">
358 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>get_response</code>
359
360
361 <div class="context" id="c4403352208">
362
363 <ol start="167" class="pre-context" id="pre4403352208">
364
365 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> raise ValueError(</pre></li>
366
367 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> "%s.process_template_response didn't return an "</pre></li>
368
369 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> "HttpResponse object. It returned None instead."</pre></li>
370
371 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> % (middleware_method.__self__.__class__.__name__))</pre></li>
372
373 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> try:</pre></li>
374
375 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> response = response.render()</pre></li>
376
377 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> except Exception as e:</pre></li>
378
379 </ol>
380
381 <ol start="174" class="context-line">
382 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre>
383 response = self.process_exception_by_middleware(e, request)</pre> <span>...</span></li></ol>
384
385 <ol start='175' class="post-context" id="post4403352208">
386
387 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre></pre></li>
388
389 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> response_is_rendered = True</pre></li>
390
391 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre></pre></li>
392
393 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> except http.Http404 as exc:</pre></li>
394
395 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> logger.warning('Not Found: %s', request.path,</pre></li>
396
397 <li onclick="toggle('pre4403352208', 'post4403352208')"><pre> extra={</pre></li>
398
399 </ol>
400
401 </div>
402
403
404
405 <div class="commands">
406
407 <a href="#" onclick="return varToggle(this, '4403352208')"><span>▶</span> Local vars</a>
408
409 </div>
410 <table class="vars" id="v4403352208">
411 <thead>
412 <tr>
413 <th>Variable</th>
414 <th>Value</th>
415 </tr>
416 </thead>
417 <tbody>
418
419 <tr>
420 <td>e</td>
421 <td class="code"><pre>AttributeError("'int' object has no attribute 'is_nan'",)</pre></td>
422 </tr>
423
424 <tr>
425 <td>callback_args</td>
426 <td class="code"><pre>()</pre></td>
427 </tr>
428
429 <tr>
430 <td>resolver_match</td>
431 <td class="code"><pre>ResolverMatch(func=base.homepage.views.HomepageView, args=(), kwargs={}, url_name=index, app_names=[u'homepage'], namespaces=[u'homepage'])</pre></td>
432 </tr>
433
434 <tr>
435 <td>response_is_rendered</td>
436 <td class="code"><pre>False</pre></td>
437 </tr>
438
439 <tr>
440 <td>middleware_method</td>
441 <td class="code"><pre><bound method DebugToolbarMiddleware.process_view of <debug_toolbar.middleware.DebugToolbarMiddleware object at 0x1058e8910>></pre></td>
442 </tr>
443
444 <tr>
445 <td>self</td>
446 <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x10358bcd0></pre></td>
447 </tr>
448
449 <tr>
450 <td>request</td>
451 <td class="code"><pre><WSGIRequest: GET '/en/'></pre></td>
452 </tr>
453
454 <tr>
455 <td>callback</td>
456 <td class="code"><pre><function HomepageView at 0x105c4dcf8></pre></td>
457 </tr>
458
459 <tr>
460 <td>wrapped_callback</td>
461 <td class="code"><pre><function HomepageView at 0x105c4dcf8></pre></td>
462 </tr>
463
464 <tr>
465 <td>resolver</td>
466 <td class="code"><pre><RegexURLResolver u'config.urls' (None:None) ^/></pre></td>
467 </tr>
468
469 <tr>
470 <td>callback_kwargs</td>
471 <td class="code"><pre>{}</pre></td>
472 </tr>
473
474 <tr>
475 <td>response</td>
476 <td class="code"><pre><TemplateResponse status_code=200, "text/html; charset=utf-8"></pre></td>
477 </tr>
478
479 <tr>
480 <td>urlconf</td>
481 <td class="code"><pre>u'config.urls'</pre></td>
482 </tr>
483
484 </tbody>
485 </table>
486
487 </li>
488
489
490 <li class="frame django">
491 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>get_response</code>
492
493
494 <div class="context" id="c4403352136">
495
496 <ol start="165" class="pre-context" id="pre4403352136">
497
498 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> # Complain if the template response middleware returned None (a common error).</pre></li>
499
500 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> if response is None:</pre></li>
501
502 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> raise ValueError(</pre></li>
503
504 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> "%s.process_template_response didn't return an "</pre></li>
505
506 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> "HttpResponse object. It returned None instead."</pre></li>
507
508 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> % (middleware_method.__self__.__class__.__name__))</pre></li>
509
510 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> try:</pre></li>
511
512 </ol>
513
514 <ol start="172" class="context-line">
515 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre>
516 response = response.render()</pre> <span>...</span></li></ol>
517
518 <ol start='173' class="post-context" id="post4403352136">
519
520 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> except Exception as e:</pre></li>
521
522 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
523
524 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre></pre></li>
525
526 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> response_is_rendered = True</pre></li>
527
528 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre></pre></li>
529
530 <li onclick="toggle('pre4403352136', 'post4403352136')"><pre> except http.Http404 as exc:</pre></li>
531
532 </ol>
533
534 </div>
535
536
537
538 <div class="commands">
539
540 <a href="#" onclick="return varToggle(this, '4403352136')"><span>▶</span> Local vars</a>
541
542 </div>
543 <table class="vars" id="v4403352136">
544 <thead>
545 <tr>
546 <th>Variable</th>
547 <th>Value</th>
548 </tr>
549 </thead>
550 <tbody>
551
552 <tr>
553 <td>e</td>
554 <td class="code"><pre>AttributeError("'int' object has no attribute 'is_nan'",)</pre></td>
555 </tr>
556
557 <tr>
558 <td>callback_args</td>
559 <td class="code"><pre>()</pre></td>
560 </tr>
561
562 <tr>
563 <td>resolver_match</td>
564 <td class="code"><pre>ResolverMatch(func=base.homepage.views.HomepageView, args=(), kwargs={}, url_name=index, app_names=[u'homepage'], namespaces=[u'homepage'])</pre></td>
565 </tr>
566
567 <tr>
568 <td>response_is_rendered</td>
569 <td class="code"><pre>False</pre></td>
570 </tr>
571
572 <tr>
573 <td>middleware_method</td>
574 <td class="code"><pre><bound method DebugToolbarMiddleware.process_view of <debug_toolbar.middleware.DebugToolbarMiddleware object at 0x1058e8910>></pre></td>
575 </tr>
576
577 <tr>
578 <td>self</td>
579 <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x10358bcd0></pre></td>
580 </tr>
581
582 <tr>
583 <td>request</td>
584 <td class="code"><pre><WSGIRequest: GET '/en/'></pre></td>
585 </tr>
586
587 <tr>
588 <td>callback</td>
589 <td class="code"><pre><function HomepageView at 0x105c4dcf8></pre></td>
590 </tr>
591
592 <tr>
593 <td>wrapped_callback</td>
594 <td class="code"><pre><function HomepageView at 0x105c4dcf8></pre></td>
595 </tr>
596
597 <tr>
598 <td>resolver</td>
599 <td class="code"><pre><RegexURLResolver u'config.urls' (None:None) ^/></pre></td>
600 </tr>
601
602 <tr>
603 <td>callback_kwargs</td>
604 <td class="code"><pre>{}</pre></td>
605 </tr>
606
607 <tr>
608 <td>response</td>
609 <td class="code"><pre><TemplateResponse status_code=200, "text/html; charset=utf-8"></pre></td>
610 </tr>
611
612 <tr>
613 <td>urlconf</td>
614 <td class="code"><pre>u'config.urls'</pre></td>
615 </tr>
616
617 </tbody>
618 </table>
619
620 </li>
621
622
623 <li class="frame django">
624 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/response.py</code> in <code>render</code>
625
626
627 <div class="context" id="c4403351992">
628
629 <ol start="153" class="pre-context" id="pre4403351992">
630
631 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre></pre></li>
632
633 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> If the content has already been rendered, this is a no-op.</pre></li>
634
635 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre></pre></li>
636
637 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> Returns the baked response instance.</pre></li>
638
639 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> """</pre></li>
640
641 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> retval = self</pre></li>
642
643 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> if not self._is_rendered:</pre></li>
644
645 </ol>
646
647 <ol start="160" class="context-line">
648 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre>
649 self.content = self.rendered_content</pre> <span>...</span></li></ol>
650
651 <ol start='161' class="post-context" id="post4403351992">
652
653 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> for post_callback in self._post_render_callbacks:</pre></li>
654
655 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> newretval = post_callback(retval)</pre></li>
656
657 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> if newretval is not None:</pre></li>
658
659 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> retval = newretval</pre></li>
660
661 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre> return retval</pre></li>
662
663 <li onclick="toggle('pre4403351992', 'post4403351992')"><pre></pre></li>
664
665 </ol>
666
667 </div>
668
669
670
671 <div class="commands">
672
673 <a href="#" onclick="return varToggle(this, '4403351992')"><span>▶</span> Local vars</a>
674
675 </div>
676 <table class="vars" id="v4403351992">
677 <thead>
678 <tr>
679 <th>Variable</th>
680 <th>Value</th>
681 </tr>
682 </thead>
683 <tbody>
684
685 <tr>
686 <td>self</td>
687 <td class="code"><pre><TemplateResponse status_code=200, "text/html; charset=utf-8"></pre></td>
688 </tr>
689
690 <tr>
691 <td>retval</td>
692 <td class="code"><pre><TemplateResponse status_code=200, "text/html; charset=utf-8"></pre></td>
693 </tr>
694
695 </tbody>
696 </table>
697
698 </li>
699
700
701 <li class="frame django">
702 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/response.py</code> in <code>rendered_content</code>
703
704
705 <div class="context" id="c4403352064">
706
707 <ol start="130" class="pre-context" id="pre4403352064">
708
709 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre></pre></li>
710
711 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> This *does not* set the final content of the response. To set the</pre></li>
712
713 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> response content, you must either call render(), or set the</pre></li>
714
715 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> content explicitly using the value of this property.</pre></li>
716
717 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> """</pre></li>
718
719 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> template = self._resolve_template(self.template_name)</pre></li>
720
721 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> context = self._resolve_context(self.context_data)</pre></li>
722
723 </ol>
724
725 <ol start="137" class="context-line">
726 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre>
727 content = template.render(context, self._request)</pre> <span>...</span></li></ol>
728
729 <ol start='138' class="post-context" id="post4403352064">
730
731 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> return content</pre></li>
732
733 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre></pre></li>
734
735 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> def add_post_render_callback(self, callback):</pre></li>
736
737 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> """Adds a new post-rendering callback.</pre></li>
738
739 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre></pre></li>
740
741 <li onclick="toggle('pre4403352064', 'post4403352064')"><pre> If the response has already been rendered,</pre></li>
742
743 </ol>
744
745 </div>
746
747
748
749 <div class="commands">
750
751 <a href="#" onclick="return varToggle(this, '4403352064')"><span>▶</span> Local vars</a>
752
753 </div>
754 <table class="vars" id="v4403352064">
755 <thead>
756 <tr>
757 <th>Variable</th>
758 <th>Value</th>
759 </tr>
760 </thead>
761 <tbody>
762
763 <tr>
764 <td>self</td>
765 <td class="code"><pre><TemplateResponse status_code=200, "text/html; charset=utf-8"></pre></td>
766 </tr>
767
768 <tr>
769 <td>context</td>
770 <td class="code"><pre>{u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>],
771 u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>],
772 u'view': <base.homepage.views.HomepageView object at 0x105660e50>}</pre></td>
773 </tr>
774
775 <tr>
776 <td>template</td>
777 <td class="code"><pre><django.template.backends.django.Template object at 0x10647bd10></pre></td>
778 </tr>
779
780 </tbody>
781 </table>
782
783 </li>
784
785
786 <li class="frame django">
787 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/backends/django.py</code> in <code>render</code>
788
789
790 <div class="context" id="c4390590080">
791
792 <ol start="88" class="pre-context" id="pre4390590080">
793
794 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre> "render() must be called with a dict, not a Context.",</pre></li>
795
796 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre> RemovedInDjango110Warning, stacklevel=2)</pre></li>
797
798 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre></pre></li>
799
800 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre> else:</pre></li>
801
802 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre> context = make_context(context, request)</pre></li>
803
804 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre></pre></li>
805
806 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre> try:</pre></li>
807
808 </ol>
809
810 <ol start="95" class="context-line">
811 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre>
812 return self.template.render(context)</pre> <span>...</span></li></ol>
813
814 <ol start='96' class="post-context" id="post4390590080">
815
816 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre> except TemplateDoesNotExist as exc:</pre></li>
817
818 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre> reraise(exc, self.backend)</pre></li>
819
820 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre></pre></li>
821
822 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre></pre></li>
823
824 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre>def copy_exception(exc, backend=None):</pre></li>
825
826 <li onclick="toggle('pre4390590080', 'post4390590080')"><pre> """</pre></li>
827
828 </ol>
829
830 </div>
831
832
833
834 <div class="commands">
835
836 <a href="#" onclick="return varToggle(this, '4390590080')"><span>▶</span> Local vars</a>
837
838 </div>
839 <table class="vars" id="v4390590080">
840 <thead>
841 <tr>
842 <th>Variable</th>
843 <th>Value</th>
844 </tr>
845 </thead>
846 <tbody>
847
848 <tr>
849 <td>self</td>
850 <td class="code"><pre><django.template.backends.django.Template object at 0x10647bd10></pre></td>
851 </tr>
852
853 <tr>
854 <td>request</td>
855 <td class="code"><pre><WSGIRequest: GET '/en/'></pre></td>
856 </tr>
857
858 <tr>
859 <td>context</td>
860 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
861 </tr>
862
863 </tbody>
864 </table>
865
866 </li>
867
868
869 <li class="frame django">
870 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render</code>
871
872
873 <div class="context" id="c4403351920">
874
875 <ol start="199" class="pre-context" id="pre4403351920">
876
877 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> def render(self, context):</pre></li>
878
879 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> "Display stage -- can be called many times"</pre></li>
880
881 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> context.render_context.push()</pre></li>
882
883 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> try:</pre></li>
884
885 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> if context.template is None:</pre></li>
886
887 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> with context.bind_template(self):</pre></li>
888
889 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> context.template_name = self.name</pre></li>
890
891 </ol>
892
893 <ol start="206" class="context-line">
894 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre>
895 return self._render(context)</pre> <span>...</span></li></ol>
896
897 <ol start='207' class="post-context" id="post4403351920">
898
899 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> else:</pre></li>
900
901 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> return self._render(context)</pre></li>
902
903 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> finally:</pre></li>
904
905 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> context.render_context.pop()</pre></li>
906
907 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre></pre></li>
908
909 <li onclick="toggle('pre4403351920', 'post4403351920')"><pre> def compile_nodelist(self):</pre></li>
910
911 </ol>
912
913 </div>
914
915
916
917 <div class="commands">
918
919 <a href="#" onclick="return varToggle(this, '4403351920')"><span>▶</span> Local vars</a>
920
921 </div>
922 <table class="vars" id="v4403351920">
923 <thead>
924 <tr>
925 <th>Variable</th>
926 <th>Value</th>
927 </tr>
928 </thead>
929 <tbody>
930
931 <tr>
932 <td>self</td>
933 <td class="code"><pre><django.template.base.Template object at 0x10647b390></pre></td>
934 </tr>
935
936 <tr>
937 <td>context</td>
938 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
939 </tr>
940
941 </tbody>
942 </table>
943
944 </li>
945
946
947 <li class="frame django">
948 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/test/utils.py</code> in <code>instrumented_test_render</code>
949
950
951 <div class="context" id="c4403351848">
952
953 <ol start="85" class="pre-context" id="pre4403351848">
954
955 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre></pre></li>
956
957 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre>def instrumented_test_render(self, context):</pre></li>
958
959 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre> """</pre></li>
960
961 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre> An instrumented Template render method, providing a signal</pre></li>
962
963 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre> that can be intercepted by the test system Client</pre></li>
964
965 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre> """</pre></li>
966
967 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre> template_rendered.send(sender=self, template=self, context=context)</pre></li>
968
969 </ol>
970
971 <ol start="92" class="context-line">
972 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre>
973 return self.nodelist.render(context)</pre> <span>...</span></li></ol>
974
975 <ol start='93' class="post-context" id="post4403351848">
976
977 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre></pre></li>
978
979 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre></pre></li>
980
981 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre>def setup_test_environment():</pre></li>
982
983 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre> """Perform any global pre-test setup. This involves:</pre></li>
984
985 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre></pre></li>
986
987 <li onclick="toggle('pre4403351848', 'post4403351848')"><pre> - Installing the instrumented test renderer</pre></li>
988
989 </ol>
990
991 </div>
992
993
994
995 <div class="commands">
996
997 <a href="#" onclick="return varToggle(this, '4403351848')"><span>▶</span> Local vars</a>
998
999 </div>
1000 <table class="vars" id="v4403351848">
1001 <thead>
1002 <tr>
1003 <th>Variable</th>
1004 <th>Value</th>
1005 </tr>
1006 </thead>
1007 <tbody>
1008
1009 <tr>
1010 <td>self</td>
1011 <td class="code"><pre><django.template.base.Template object at 0x10647b390></pre></td>
1012 </tr>
1013
1014 <tr>
1015 <td>context</td>
1016 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1017 </tr>
1018
1019 </tbody>
1020 </table>
1021
1022 </li>
1023
1024
1025 <li class="frame django">
1026 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render</code>
1027
1028
1029 <div class="context" id="c4403351776">
1030
1031 <ol start="985" class="pre-context" id="pre4403351776">
1032
1033 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> # extend_nodelist().</pre></li>
1034
1035 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> contains_nontext = False</pre></li>
1036
1037 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre></pre></li>
1038
1039 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> def render(self, context):</pre></li>
1040
1041 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> bits = []</pre></li>
1042
1043 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> for node in self:</pre></li>
1044
1045 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> if isinstance(node, Node):</pre></li>
1046
1047 </ol>
1048
1049 <ol start="992" class="context-line">
1050 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre>
1051 bit = node.render_annotated(context)</pre> <span>...</span></li></ol>
1052
1053 <ol start='993' class="post-context" id="post4403351776">
1054
1055 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> else:</pre></li>
1056
1057 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> bit = node</pre></li>
1058
1059 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> bits.append(force_text(bit))</pre></li>
1060
1061 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> return mark_safe(''.join(bits))</pre></li>
1062
1063 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre></pre></li>
1064
1065 <li onclick="toggle('pre4403351776', 'post4403351776')"><pre> def get_nodes_by_type(self, nodetype):</pre></li>
1066
1067 </ol>
1068
1069 </div>
1070
1071
1072
1073 <div class="commands">
1074
1075 <a href="#" onclick="return varToggle(this, '4403351776')"><span>▶</span> Local vars</a>
1076
1077 </div>
1078 <table class="vars" id="v4403351776">
1079 <thead>
1080 <tr>
1081 <th>Variable</th>
1082 <th>Value</th>
1083 </tr>
1084 </thead>
1085 <tbody>
1086
1087 <tr>
1088 <td>node</td>
1089 <td class="code"><pre><ExtendsNode: extends "base.html"></pre></td>
1090 </tr>
1091
1092 <tr>
1093 <td>self</td>
1094 <td class="code"><pre>[<ExtendsNode: extends "base.html">]</pre></td>
1095 </tr>
1096
1097 <tr>
1098 <td>bits</td>
1099 <td class="code"><pre>[]</pre></td>
1100 </tr>
1101
1102 <tr>
1103 <td>context</td>
1104 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1105 </tr>
1106
1107 </tbody>
1108 </table>
1109
1110 </li>
1111
1112
1113 <li class="frame django">
1114 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render_annotated</code>
1115
1116
1117 <div class="context" id="c4403351704">
1118
1119 <ol start="952" class="pre-context" id="pre4403351704">
1120
1121 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> """</pre></li>
1122
1123 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> Render the node. If debug is True and an exception occurs during</pre></li>
1124
1125 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> rendering, the exception is annotated with contextual line information</pre></li>
1126
1127 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> where it occurred in the template. For internal usage this method is</pre></li>
1128
1129 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> preferred over using the render method directly.</pre></li>
1130
1131 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> """</pre></li>
1132
1133 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> try:</pre></li>
1134
1135 </ol>
1136
1137 <ol start="959" class="context-line">
1138 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre>
1139 return self.render(context)</pre> <span>...</span></li></ol>
1140
1141 <ol start='960' class="post-context" id="post4403351704">
1142
1143 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> except Exception as e:</pre></li>
1144
1145 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> if context.template.engine.debug and not hasattr(e, 'template_debug'):</pre></li>
1146
1147 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> e.template_debug = context.template.get_exception_info(e, self.token)</pre></li>
1148
1149 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> raise</pre></li>
1150
1151 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre></pre></li>
1152
1153 <li onclick="toggle('pre4403351704', 'post4403351704')"><pre> def __iter__(self):</pre></li>
1154
1155 </ol>
1156
1157 </div>
1158
1159
1160
1161 <div class="commands">
1162
1163 <a href="#" onclick="return varToggle(this, '4403351704')"><span>▶</span> Local vars</a>
1164
1165 </div>
1166 <table class="vars" id="v4403351704">
1167 <thead>
1168 <tr>
1169 <th>Variable</th>
1170 <th>Value</th>
1171 </tr>
1172 </thead>
1173 <tbody>
1174
1175 <tr>
1176 <td>self</td>
1177 <td class="code"><pre><ExtendsNode: extends "base.html"></pre></td>
1178 </tr>
1179
1180 <tr>
1181 <td>e</td>
1182 <td class="code"><pre>AttributeError("'int' object has no attribute 'is_nan'",)</pre></td>
1183 </tr>
1184
1185 <tr>
1186 <td>context</td>
1187 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1188 </tr>
1189
1190 </tbody>
1191 </table>
1192
1193 </li>
1194
1195
1196 <li class="frame django">
1197 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/loader_tags.py</code> in <code>render</code>
1198
1199
1200 <div class="context" id="c4403351632">
1201
1202 <ol start="166" class="pre-context" id="pre4403351632">
1203
1204 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre> blocks = {n.name: n for n in</pre></li>
1205
1206 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre> compiled_parent.nodelist.get_nodes_by_type(BlockNode)}</pre></li>
1207
1208 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre> block_context.add_blocks(blocks)</pre></li>
1209
1210 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre> break</pre></li>
1211
1212 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre></pre></li>
1213
1214 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre> # Call Template._render explicitly so the parser context stays</pre></li>
1215
1216 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre> # the same.</pre></li>
1217
1218 </ol>
1219
1220 <ol start="173" class="context-line">
1221 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre>
1222 return compiled_parent._render(context)</pre> <span>...</span></li></ol>
1223
1224 <ol start='174' class="post-context" id="post4403351632">
1225
1226 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre></pre></li>
1227
1228 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre></pre></li>
1229
1230 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre>class IncludeNode(Node):</pre></li>
1231
1232 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre> context_key = '__include_context'</pre></li>
1233
1234 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre></pre></li>
1235
1236 <li onclick="toggle('pre4403351632', 'post4403351632')"><pre> def __init__(self, template, *args, **kwargs):</pre></li>
1237
1238 </ol>
1239
1240 </div>
1241
1242
1243
1244 <div class="commands">
1245
1246 <a href="#" onclick="return varToggle(this, '4403351632')"><span>▶</span> Local vars</a>
1247
1248 </div>
1249 <table class="vars" id="v4403351632">
1250 <thead>
1251 <tr>
1252 <th>Variable</th>
1253 <th>Value</th>
1254 </tr>
1255 </thead>
1256 <tbody>
1257
1258 <tr>
1259 <td>node</td>
1260 <td class="code"><pre><django.template.defaulttags.LoadNode object at 0x1058d2a50></pre></td>
1261 </tr>
1262
1263 <tr>
1264 <td>blocks</td>
1265 <td class="code"><pre>{u'content': <Block Node: content. Contents: []>,
1266 u'js': <Block Node: js. Contents: []>,
1267 u'meta-description': <Block Node: meta-description. Contents: []>,
1268 u'page_title': <Block Node: page_title. Contents: [<TextNode: u' '>, <IfNode>, <TextNode: u' '>, <Tag: page_attribute>, <TextNode: u' '>]>}</pre></td>
1269 </tr>
1270
1271 <tr>
1272 <td>block_context</td>
1273 <td class="code"><pre><django.template.loader_tags.BlockContext object at 0x10647b0d0></pre></td>
1274 </tr>
1275
1276 <tr>
1277 <td>context</td>
1278 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1279 </tr>
1280
1281 <tr>
1282 <td>compiled_parent</td>
1283 <td class="code"><pre><django.template.base.Template object at 0x106623f90></pre></td>
1284 </tr>
1285
1286 <tr>
1287 <td>self</td>
1288 <td class="code"><pre><ExtendsNode: extends "base.html"></pre></td>
1289 </tr>
1290
1291 </tbody>
1292 </table>
1293
1294 </li>
1295
1296
1297 <li class="frame django">
1298 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/test/utils.py</code> in <code>instrumented_test_render</code>
1299
1300
1301 <div class="context" id="c4403339208">
1302
1303 <ol start="85" class="pre-context" id="pre4403339208">
1304
1305 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre></pre></li>
1306
1307 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre>def instrumented_test_render(self, context):</pre></li>
1308
1309 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre> """</pre></li>
1310
1311 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre> An instrumented Template render method, providing a signal</pre></li>
1312
1313 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre> that can be intercepted by the test system Client</pre></li>
1314
1315 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre> """</pre></li>
1316
1317 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre> template_rendered.send(sender=self, template=self, context=context)</pre></li>
1318
1319 </ol>
1320
1321 <ol start="92" class="context-line">
1322 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre>
1323 return self.nodelist.render(context)</pre> <span>...</span></li></ol>
1324
1325 <ol start='93' class="post-context" id="post4403339208">
1326
1327 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre></pre></li>
1328
1329 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre></pre></li>
1330
1331 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre>def setup_test_environment():</pre></li>
1332
1333 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre> """Perform any global pre-test setup. This involves:</pre></li>
1334
1335 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre></pre></li>
1336
1337 <li onclick="toggle('pre4403339208', 'post4403339208')"><pre> - Installing the instrumented test renderer</pre></li>
1338
1339 </ol>
1340
1341 </div>
1342
1343
1344
1345 <div class="commands">
1346
1347 <a href="#" onclick="return varToggle(this, '4403339208')"><span>▶</span> Local vars</a>
1348
1349 </div>
1350 <table class="vars" id="v4403339208">
1351 <thead>
1352 <tr>
1353 <th>Variable</th>
1354 <th>Value</th>
1355 </tr>
1356 </thead>
1357 <tbody>
1358
1359 <tr>
1360 <td>self</td>
1361 <td class="code"><pre><django.template.base.Template object at 0x106623f90></pre></td>
1362 </tr>
1363
1364 <tr>
1365 <td>context</td>
1366 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1367 </tr>
1368
1369 </tbody>
1370 </table>
1371
1372 </li>
1373
1374
1375 <li class="frame django">
1376 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render</code>
1377
1378
1379 <div class="context" id="c4403339136">
1380
1381 <ol start="985" class="pre-context" id="pre4403339136">
1382
1383 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> # extend_nodelist().</pre></li>
1384
1385 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> contains_nontext = False</pre></li>
1386
1387 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre></pre></li>
1388
1389 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> def render(self, context):</pre></li>
1390
1391 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> bits = []</pre></li>
1392
1393 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> for node in self:</pre></li>
1394
1395 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> if isinstance(node, Node):</pre></li>
1396
1397 </ol>
1398
1399 <ol start="992" class="context-line">
1400 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre>
1401 bit = node.render_annotated(context)</pre> <span>...</span></li></ol>
1402
1403 <ol start='993' class="post-context" id="post4403339136">
1404
1405 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> else:</pre></li>
1406
1407 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> bit = node</pre></li>
1408
1409 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> bits.append(force_text(bit))</pre></li>
1410
1411 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> return mark_safe(''.join(bits))</pre></li>
1412
1413 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre></pre></li>
1414
1415 <li onclick="toggle('pre4403339136', 'post4403339136')"><pre> def get_nodes_by_type(self, nodetype):</pre></li>
1416
1417 </ol>
1418
1419 </div>
1420
1421
1422
1423 <div class="commands">
1424
1425 <a href="#" onclick="return varToggle(this, '4403339136')"><span>▶</span> Local vars</a>
1426
1427 </div>
1428 <table class="vars" id="v4403339136">
1429 <thead>
1430 <tr>
1431 <th>Variable</th>
1432 <th>Value</th>
1433 </tr>
1434 </thead>
1435 <tbody>
1436
1437 <tr>
1438 <td>node</td>
1439 <td class="code"><pre><Tag: render_block></pre></td>
1440 </tr>
1441
1442 <tr>
1443 <td>bit</td>
1444 <td class="code"><pre>u'"/>\n '</pre></td>
1445 </tr>
1446
1447 <tr>
1448 <td>bits</td>
1449 <td class="code"><pre>[u'',
1450 u'<!DOCTYPE html>\n<html lang="',
1451 u'en',
1452 u'" ng-app="myShop">\n<head>\n <meta charset="UTF-8">\n <title>',
1453 u' Homepage ',
1454 u'</title>\n <meta name="description" content="',
1455 u'',
1456 u'" />\n <meta name="viewport" content="width=device-width initial-scale=1.0 maximum-scale=1.0 user-scalable=0" />\n <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">\n <link rel="stylesheet" type="text/css" href="',
1457 u'/static/css/bootstrap.css',
1458 u'"/>\n\n ',
1459 u'\n <link rel="stylesheet" type="text/css" href="/static/css/menu.css"/>\n ',
1460 u'\n <link rel="stylesheet" type="text/css" href="',
1461 u'/static/css/toastr.css',
1462 u'"/>\n <link rel="stylesheet" type="text/css" href="',
1463 u'/static/css/slick.css',
1464 u'"/>\n <link rel="stylesheet" type="text/css" href="',
1465 u'/static/css/easydropdown.css',
1466 u'"/>\n <link rel="stylesheet" type="text/css" href="',
1467 u'/static/css/jquery.jscrollpane.css',
1468 u'"/>\n <link rel="stylesheet" type="text/css" href="',
1469 u'/static/css/select2.css',
1470 u'"/>\n <link rel="stylesheet" type="text/css" href="',
1471 u'/static/css/styles.css',
1472 u'"/>\n <link rel="stylesheet" type="text/css" href="',
1473 u'/static/css/responsive.css',
1474 u'"/>\n <link rel="stylesheet" type="text/css" href="',
1475 u'/static/css/multi-select.css',
1476 u'"/>\n <link rel="stylesheet" type="text/css" href="',
1477 u'/static/css/fixes.css',
1478 u'"/>\n ']</pre></td>
1479 </tr>
1480
1481 <tr>
1482 <td>self</td>
1483 <td class="code"><pre>[<django.template.defaulttags.LoadNode object at 0x1058d2a50>,
1484 <TextNode: u'<!DOCTYPE html>\n<html lan'>,
1485 <Variable Node: request.LANGUAGE_CODE>,
1486 <TextNode: u'" ng-app="myShop">\n<head>'>,
1487 <Block Node: page_title. Contents: [<TextNode: u' '>, <IfNode>, <TextNode: u' '>, <Tag: page_attribute>, <TextNode: u' '>]>,
1488 <TextNode: u'</title>\n <meta name="'>,
1489 <Block Node: meta-description. Contents: []>,
1490 <TextNode: u'" />\n <meta name="viewp'>,
1491 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1062a8690>,
1492 <TextNode: u'"/>\n\n '>,
1493 <IfNode>,
1494 <TextNode: u'\n <link rel="styleshee'>,
1495 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1065eab90>,
1496 <TextNode: u'"/>\n <link rel="styles'>,
1497 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1065ea750>,
1498 <TextNode: u'"/>\n <link rel="styles'>,
1499 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1065ea9d0>,
1500 <TextNode: u'"/>\n <link rel="styles'>,
1501 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1065af7d0>,
1502 <TextNode: u'"/>\n <link rel="styles'>,
1503 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1065af810>,
1504 <TextNode: u'"/>\n <link rel="styles'>,
1505 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1065aff10>,
1506 <TextNode: u'"/>\n <link rel="styles'>,
1507 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1065af110>,
1508 <TextNode: u'"/>\n <link rel="styles'>,
1509 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1065afe50>,
1510 <TextNode: u'"/>\n <link rel="styles'>,
1511 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1065af710>,
1512 <TextNode: u'"/>\n '>,
1513 <Tag: render_block>]</pre></td>
1514 </tr>
1515
1516 <tr>
1517 <td>context</td>
1518 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1519 </tr>
1520
1521 </tbody>
1522 </table>
1523
1524 </li>
1525
1526
1527 <li class="frame django">
1528 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render_annotated</code>
1529
1530
1531 <div class="context" id="c4403339064">
1532
1533 <ol start="952" class="pre-context" id="pre4403339064">
1534
1535 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> """</pre></li>
1536
1537 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> Render the node. If debug is True and an exception occurs during</pre></li>
1538
1539 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> rendering, the exception is annotated with contextual line information</pre></li>
1540
1541 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> where it occurred in the template. For internal usage this method is</pre></li>
1542
1543 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> preferred over using the render method directly.</pre></li>
1544
1545 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> """</pre></li>
1546
1547 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> try:</pre></li>
1548
1549 </ol>
1550
1551 <ol start="959" class="context-line">
1552 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre>
1553 return self.render(context)</pre> <span>...</span></li></ol>
1554
1555 <ol start='960' class="post-context" id="post4403339064">
1556
1557 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> except Exception as e:</pre></li>
1558
1559 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> if context.template.engine.debug and not hasattr(e, 'template_debug'):</pre></li>
1560
1561 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> e.template_debug = context.template.get_exception_info(e, self.token)</pre></li>
1562
1563 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> raise</pre></li>
1564
1565 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre></pre></li>
1566
1567 <li onclick="toggle('pre4403339064', 'post4403339064')"><pre> def __iter__(self):</pre></li>
1568
1569 </ol>
1570
1571 </div>
1572
1573
1574
1575 <div class="commands">
1576
1577 <a href="#" onclick="return varToggle(this, '4403339064')"><span>▶</span> Local vars</a>
1578
1579 </div>
1580 <table class="vars" id="v4403339064">
1581 <thead>
1582 <tr>
1583 <th>Variable</th>
1584 <th>Value</th>
1585 </tr>
1586 </thead>
1587 <tbody>
1588
1589 <tr>
1590 <td>self</td>
1591 <td class="code"><pre><Tag: render_block></pre></td>
1592 </tr>
1593
1594 <tr>
1595 <td>e</td>
1596 <td class="code"><pre>AttributeError("'int' object has no attribute 'is_nan'",)</pre></td>
1597 </tr>
1598
1599 <tr>
1600 <td>context</td>
1601 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1602 </tr>
1603
1604 </tbody>
1605 </table>
1606
1607 </li>
1608
1609
1610 <li class="frame user">
1611 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/classytags/core.py</code> in <code>render</code>
1612
1613
1614 <div class="context" id="c4403338992">
1615
1616 <ol start="139" class="pre-context" id="pre4403338992">
1617
1618 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> """</pre></li>
1619
1620 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> INTERNAL method to prepare rendering</pre></li>
1621
1622 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> Usually you should not override this method, but rather use render_tag.</pre></li>
1623
1624 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> """</pre></li>
1625
1626 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> items = self.kwargs.items()</pre></li>
1627
1628 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> kwargs = dict([(key, value.resolve(context)) for key, value in items])</pre></li>
1629
1630 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> kwargs.update(self.blocks)</pre></li>
1631
1632 </ol>
1633
1634 <ol start="146" class="context-line">
1635 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre>
1636 return self.render_tag(context, **kwargs)</pre> <span>...</span></li></ol>
1637
1638 <ol start='147' class="post-context" id="post4403338992">
1639
1640 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre></pre></li>
1641
1642 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> def render_tag(self, context, **kwargs):</pre></li>
1643
1644 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> """</pre></li>
1645
1646 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> The method you should override in your custom tags</pre></li>
1647
1648 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> """</pre></li>
1649
1650 <li onclick="toggle('pre4403338992', 'post4403338992')"><pre> raise NotImplementedError</pre></li>
1651
1652 </ol>
1653
1654 </div>
1655
1656
1657
1658 <div class="commands">
1659
1660 <a href="#" onclick="return varToggle(this, '4403338992')"><span>▶</span> Local vars</a>
1661
1662 </div>
1663 <table class="vars" id="v4403338992">
1664 <thead>
1665 <tr>
1666 <th>Variable</th>
1667 <th>Value</th>
1668 </tr>
1669 </thead>
1670 <tbody>
1671
1672 <tr>
1673 <td>key</td>
1674 <td class="code"><pre>'postprocessor'</pre></td>
1675 </tr>
1676
1677 <tr>
1678 <td>items</td>
1679 <td class="code"><pre>[('name', <classytags.values.StringValue object at 0x106200650>),
1680 ('postprocessor', <TemplateConstant: None>)]</pre></td>
1681 </tr>
1682
1683 <tr>
1684 <td>self</td>
1685 <td class="code"><pre><Tag: render_block></pre></td>
1686 </tr>
1687
1688 <tr>
1689 <td>value</td>
1690 <td class="code"><pre><TemplateConstant: None></pre></td>
1691 </tr>
1692
1693 <tr>
1694 <td>context</td>
1695 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1696 </tr>
1697
1698 <tr>
1699 <td>kwargs</td>
1700 <td class="code"><pre>{'name': u'css',
1701 'nodelist': [<TextNode: u'\n\n</head>\n<body>\n '>, <Tag: cms_toolbar>],
1702 'postprocessor': None}</pre></td>
1703 </tr>
1704
1705 </tbody>
1706 </table>
1707
1708 </li>
1709
1710
1711 <li class="frame user">
1712 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py</code> in <code>render_tag</code>
1713
1714
1715 <div class="context" id="c4403338920">
1716
1717 <ol start="76" class="pre-context" id="pre4403338920">
1718
1719 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> Argument('postprocessor', required=False, default=None, resolve=False),</pre></li>
1720
1721 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> parser_class=SekizaiParser,</pre></li>
1722
1723 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> )</pre></li>
1724
1725 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre></pre></li>
1726
1727 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> def render_tag(self, context, name, postprocessor, nodelist):</pre></li>
1728
1729 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> if not validate_context(context):</pre></li>
1730
1731 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> return nodelist.render(context)</pre></li>
1732
1733 </ol>
1734
1735 <ol start="83" class="context-line">
1736 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre>
1737 rendered_contents = nodelist.render(context)</pre> <span>...</span></li></ol>
1738
1739 <ol start='84' class="post-context" id="post4403338920">
1740
1741 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> varname = get_varname()</pre></li>
1742
1743 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> data = '\n'.join(context[varname][name])</pre></li>
1744
1745 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> if postprocessor:</pre></li>
1746
1747 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> func = import_processor(postprocessor)</pre></li>
1748
1749 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> data = func(context, data, name)</pre></li>
1750
1751 <li onclick="toggle('pre4403338920', 'post4403338920')"><pre> return '%s\n%s' % (data, rendered_contents)</pre></li>
1752
1753 </ol>
1754
1755 </div>
1756
1757
1758
1759 <div class="commands">
1760
1761 <a href="#" onclick="return varToggle(this, '4403338920')"><span>▶</span> Local vars</a>
1762
1763 </div>
1764 <table class="vars" id="v4403338920">
1765 <thead>
1766 <tr>
1767 <th>Variable</th>
1768 <th>Value</th>
1769 </tr>
1770 </thead>
1771 <tbody>
1772
1773 <tr>
1774 <td>self</td>
1775 <td class="code"><pre><Tag: render_block></pre></td>
1776 </tr>
1777
1778 <tr>
1779 <td>nodelist</td>
1780 <td class="code"><pre>[<TextNode: u'\n\n</head>\n<body>\n '>, <Tag: cms_toolbar>]</pre></td>
1781 </tr>
1782
1783 <tr>
1784 <td>name</td>
1785 <td class="code"><pre>u'css'</pre></td>
1786 </tr>
1787
1788 <tr>
1789 <td>context</td>
1790 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1791 </tr>
1792
1793 <tr>
1794 <td>postprocessor</td>
1795 <td class="code"><pre>None</pre></td>
1796 </tr>
1797
1798 </tbody>
1799 </table>
1800
1801 </li>
1802
1803
1804 <li class="frame django">
1805 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render</code>
1806
1807
1808 <div class="context" id="c4403338848">
1809
1810 <ol start="985" class="pre-context" id="pre4403338848">
1811
1812 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> # extend_nodelist().</pre></li>
1813
1814 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> contains_nontext = False</pre></li>
1815
1816 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre></pre></li>
1817
1818 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> def render(self, context):</pre></li>
1819
1820 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> bits = []</pre></li>
1821
1822 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> for node in self:</pre></li>
1823
1824 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> if isinstance(node, Node):</pre></li>
1825
1826 </ol>
1827
1828 <ol start="992" class="context-line">
1829 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre>
1830 bit = node.render_annotated(context)</pre> <span>...</span></li></ol>
1831
1832 <ol start='993' class="post-context" id="post4403338848">
1833
1834 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> else:</pre></li>
1835
1836 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> bit = node</pre></li>
1837
1838 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> bits.append(force_text(bit))</pre></li>
1839
1840 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> return mark_safe(''.join(bits))</pre></li>
1841
1842 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre></pre></li>
1843
1844 <li onclick="toggle('pre4403338848', 'post4403338848')"><pre> def get_nodes_by_type(self, nodetype):</pre></li>
1845
1846 </ol>
1847
1848 </div>
1849
1850
1851
1852 <div class="commands">
1853
1854 <a href="#" onclick="return varToggle(this, '4403338848')"><span>▶</span> Local vars</a>
1855
1856 </div>
1857 <table class="vars" id="v4403338848">
1858 <thead>
1859 <tr>
1860 <th>Variable</th>
1861 <th>Value</th>
1862 </tr>
1863 </thead>
1864 <tbody>
1865
1866 <tr>
1867 <td>node</td>
1868 <td class="code"><pre><Tag: cms_toolbar></pre></td>
1869 </tr>
1870
1871 <tr>
1872 <td>bit</td>
1873 <td class="code"><pre>u'\n\n</head>\n<body>\n '</pre></td>
1874 </tr>
1875
1876 <tr>
1877 <td>bits</td>
1878 <td class="code"><pre>[u'\n\n</head>\n<body>\n ']</pre></td>
1879 </tr>
1880
1881 <tr>
1882 <td>self</td>
1883 <td class="code"><pre>[<TextNode: u'\n\n</head>\n<body>\n '>, <Tag: cms_toolbar>]</pre></td>
1884 </tr>
1885
1886 <tr>
1887 <td>context</td>
1888 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1889 </tr>
1890
1891 </tbody>
1892 </table>
1893
1894 </li>
1895
1896
1897 <li class="frame django">
1898 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render_annotated</code>
1899
1900
1901 <div class="context" id="c4403338776">
1902
1903 <ol start="952" class="pre-context" id="pre4403338776">
1904
1905 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> """</pre></li>
1906
1907 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> Render the node. If debug is True and an exception occurs during</pre></li>
1908
1909 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> rendering, the exception is annotated with contextual line information</pre></li>
1910
1911 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> where it occurred in the template. For internal usage this method is</pre></li>
1912
1913 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> preferred over using the render method directly.</pre></li>
1914
1915 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> """</pre></li>
1916
1917 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> try:</pre></li>
1918
1919 </ol>
1920
1921 <ol start="959" class="context-line">
1922 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre>
1923 return self.render(context)</pre> <span>...</span></li></ol>
1924
1925 <ol start='960' class="post-context" id="post4403338776">
1926
1927 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> except Exception as e:</pre></li>
1928
1929 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> if context.template.engine.debug and not hasattr(e, 'template_debug'):</pre></li>
1930
1931 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> e.template_debug = context.template.get_exception_info(e, self.token)</pre></li>
1932
1933 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> raise</pre></li>
1934
1935 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre></pre></li>
1936
1937 <li onclick="toggle('pre4403338776', 'post4403338776')"><pre> def __iter__(self):</pre></li>
1938
1939 </ol>
1940
1941 </div>
1942
1943
1944
1945 <div class="commands">
1946
1947 <a href="#" onclick="return varToggle(this, '4403338776')"><span>▶</span> Local vars</a>
1948
1949 </div>
1950 <table class="vars" id="v4403338776">
1951 <thead>
1952 <tr>
1953 <th>Variable</th>
1954 <th>Value</th>
1955 </tr>
1956 </thead>
1957 <tbody>
1958
1959 <tr>
1960 <td>self</td>
1961 <td class="code"><pre><Tag: cms_toolbar></pre></td>
1962 </tr>
1963
1964 <tr>
1965 <td>e</td>
1966 <td class="code"><pre>AttributeError("'int' object has no attribute 'is_nan'",)</pre></td>
1967 </tr>
1968
1969 <tr>
1970 <td>context</td>
1971 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
1972 </tr>
1973
1974 </tbody>
1975 </table>
1976
1977 </li>
1978
1979
1980 <li class="frame user">
1981 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/classytags/core.py</code> in <code>render</code>
1982
1983
1984 <div class="context" id="c4403338704">
1985
1986 <ol start="139" class="pre-context" id="pre4403338704">
1987
1988 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> """</pre></li>
1989
1990 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> INTERNAL method to prepare rendering</pre></li>
1991
1992 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> Usually you should not override this method, but rather use render_tag.</pre></li>
1993
1994 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> """</pre></li>
1995
1996 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> items = self.kwargs.items()</pre></li>
1997
1998 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> kwargs = dict([(key, value.resolve(context)) for key, value in items])</pre></li>
1999
2000 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> kwargs.update(self.blocks)</pre></li>
2001
2002 </ol>
2003
2004 <ol start="146" class="context-line">
2005 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre>
2006 return self.render_tag(context, **kwargs)</pre> <span>...</span></li></ol>
2007
2008 <ol start='147' class="post-context" id="post4403338704">
2009
2010 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre></pre></li>
2011
2012 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> def render_tag(self, context, **kwargs):</pre></li>
2013
2014 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> """</pre></li>
2015
2016 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> The method you should override in your custom tags</pre></li>
2017
2018 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> """</pre></li>
2019
2020 <li onclick="toggle('pre4403338704', 'post4403338704')"><pre> raise NotImplementedError</pre></li>
2021
2022 </ol>
2023
2024 </div>
2025
2026
2027
2028 <div class="commands">
2029
2030 <a href="#" onclick="return varToggle(this, '4403338704')"><span>▶</span> Local vars</a>
2031
2032 </div>
2033 <table class="vars" id="v4403338704">
2034 <thead>
2035 <tr>
2036 <th>Variable</th>
2037 <th>Value</th>
2038 </tr>
2039 </thead>
2040 <tbody>
2041
2042 <tr>
2043 <td>key</td>
2044 <td class="code"><pre>'name'</pre></td>
2045 </tr>
2046
2047 <tr>
2048 <td>items</td>
2049 <td class="code"><pre>[('name', <TemplateConstant: None>)]</pre></td>
2050 </tr>
2051
2052 <tr>
2053 <td>self</td>
2054 <td class="code"><pre><Tag: cms_toolbar></pre></td>
2055 </tr>
2056
2057 <tr>
2058 <td>value</td>
2059 <td class="code"><pre><TemplateConstant: None></pre></td>
2060 </tr>
2061
2062 <tr>
2063 <td>context</td>
2064 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
2065 </tr>
2066
2067 <tr>
2068 <td>kwargs</td>
2069 <td class="code"><pre>{'name': None,
2070 'nodelist': [<TextNode: u'\n '>,
2071 <IfNode>,
2072 <TextNode: u'\n '>,
2073 <Tag: show_menu>,
2074 <TextNode: u'\n\n <div class="custom-'>,
2075 <django.template.loader_tags.IncludeNode object at 0x106200690>,
2076 <TextNode: u'\n '>,
2077 <Tag: show_menu>,
2078 <TextNode: u'\n\n <main>\n '>,
2079 <Block Node: content. Contents: []>,
2080 <TextNode: u'\n </main>\n\n '>,
2081 <django.template.loader_tags.IncludeNode object at 0x105fc2f90>,
2082 <TextNode: u'\n </div><!-- mp-pu'>,
2083 <django.template.defaulttags.URLNode object at 0x105fc2e50>,
2084 <TextNode: u'"></script>\n\n <script '>,
2085 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc26d0>,
2086 <TextNode: u'"></script>\n <script s'>,
2087 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2b10>,
2088 <TextNode: u'"></script>\n <script s'>,
2089 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2e10>,
2090 <TextNode: u'"></script>\n <script s'>,
2091 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2b90>,
2092 <TextNode: u'"></script>\n <script s'>,
2093 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2890>,
2094 <TextNode: u'"></script>\n\t<script src='>,
2095 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2950>,
2096 <TextNode: u'"></script>\n\t<script src='>,
2097 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2c10>,
2098 <TextNode: u'"></script>\n\t<script src='>,
2099 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2290>,
2100 <TextNode: u'"></script>\n\t<script src='>,
2101 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2a50>,
2102 <TextNode: u'"></script>\n\t<script src='>,
2103 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2050>,
2104 <TextNode: u'"></script>\n <script s'>,
2105 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc22d0>,
2106 <TextNode: u'"></script>\n <script s'>,
2107 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2590>,
2108 <TextNode: u'"></script>\n <script s'>,
2109 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1990>,
2110 <TextNode: u'"></script>\n <script s'>,
2111 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1950>,
2112 <TextNode: u'"></script>\n <script s'>,
2113 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb19d0>,
2114 <TextNode: u'"></script>\n <script s'>,
2115 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1610>,
2116 <TextNode: u'"></script>\n <script s'>,
2117 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1ad0>,
2118 <TextNode: u'"></script>\n <script s'>,
2119 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1b90>,
2120 <TextNode: u'"></script>\n <script>\n'>,
2121 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1cd0>,
2122 <TextNode: u'" type="text/javascript">'>,
2123 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1c90>,
2124 <TextNode: u'"></script>\n <script s'>,
2125 ... <trimmed 4772 bytes string></pre></td>
2126 </tr>
2127
2128 </tbody>
2129 </table>
2130
2131 </li>
2132
2133
2134 <li class="frame user">
2135 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/cms/templatetags/cms_tags.py</code> in <code>render_tag</code>
2136
2137
2138 <div class="context" id="c4403338632">
2139
2140 <ol start="624" class="pre-context" id="pre4403338632">
2141
2142 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> with force_language(language):</pre></li>
2143
2144 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> # needed to populate the context with sekizai content</pre></li>
2145
2146 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> render_to_string('cms/toolbar/toolbar_javascript.html', flatten_context(context))</pre></li>
2147
2148 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> context['addons'] = mark_safe(toolbar.render_addons(context))</pre></li>
2149
2150 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> else:</pre></li>
2151
2152 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> language = None</pre></li>
2153
2154 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> # render everything below the tag</pre></li>
2155
2156 </ol>
2157
2158 <ol start="631" class="context-line">
2159 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre>
2160 rendered_contents = nodelist.render(context)</pre> <span>...</span></li></ol>
2161
2162 <ol start='632' class="post-context" id="post4403338632">
2163
2164 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> # sanity checks</pre></li>
2165
2166 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> if not request:</pre></li>
2167
2168 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> return rendered_contents</pre></li>
2169
2170 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> if not toolbar:</pre></li>
2171
2172 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> return rendered_contents</pre></li>
2173
2174 <li onclick="toggle('pre4403338632', 'post4403338632')"><pre> if not toolbar.show_toolbar:</pre></li>
2175
2176 </ol>
2177
2178 </div>
2179
2180
2181
2182 <div class="commands">
2183
2184 <a href="#" onclick="return varToggle(this, '4403338632')"><span>▶</span> Local vars</a>
2185
2186 </div>
2187 <table class="vars" id="v4403338632">
2188 <thead>
2189 <tr>
2190 <th>Variable</th>
2191 <th>Value</th>
2192 </tr>
2193 </thead>
2194 <tbody>
2195
2196 <tr>
2197 <td>nodelist</td>
2198 <td class="code"><pre>[<TextNode: u'\n '>,
2199 <IfNode>,
2200 <TextNode: u'\n '>,
2201 <Tag: show_menu>,
2202 <TextNode: u'\n\n <div class="custom-'>,
2203 <django.template.loader_tags.IncludeNode object at 0x106200690>,
2204 <TextNode: u'\n '>,
2205 <Tag: show_menu>,
2206 <TextNode: u'\n\n <main>\n '>,
2207 <Block Node: content. Contents: []>,
2208 <TextNode: u'\n </main>\n\n '>,
2209 <django.template.loader_tags.IncludeNode object at 0x105fc2f90>,
2210 <TextNode: u'\n </div><!-- mp-pu'>,
2211 <django.template.defaulttags.URLNode object at 0x105fc2e50>,
2212 <TextNode: u'"></script>\n\n <script '>,
2213 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc26d0>,
2214 <TextNode: u'"></script>\n <script s'>,
2215 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2b10>,
2216 <TextNode: u'"></script>\n <script s'>,
2217 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2e10>,
2218 <TextNode: u'"></script>\n <script s'>,
2219 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2b90>,
2220 <TextNode: u'"></script>\n <script s'>,
2221 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2890>,
2222 <TextNode: u'"></script>\n\t<script src='>,
2223 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2950>,
2224 <TextNode: u'"></script>\n\t<script src='>,
2225 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2c10>,
2226 <TextNode: u'"></script>\n\t<script src='>,
2227 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2290>,
2228 <TextNode: u'"></script>\n\t<script src='>,
2229 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2a50>,
2230 <TextNode: u'"></script>\n\t<script src='>,
2231 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2050>,
2232 <TextNode: u'"></script>\n <script s'>,
2233 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc22d0>,
2234 <TextNode: u'"></script>\n <script s'>,
2235 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2590>,
2236 <TextNode: u'"></script>\n <script s'>,
2237 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1990>,
2238 <TextNode: u'"></script>\n <script s'>,
2239 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1950>,
2240 <TextNode: u'"></script>\n <script s'>,
2241 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb19d0>,
2242 <TextNode: u'"></script>\n <script s'>,
2243 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1610>,
2244 <TextNode: u'"></script>\n <script s'>,
2245 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1ad0>,
2246 <TextNode: u'"></script>\n <script s'>,
2247 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1b90>,
2248 <TextNode: u'"></script>\n <script>\n'>,
2249 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1cd0>,
2250 <TextNode: u'" type="text/javascript">'>,
2251 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1c90>,
2252 <TextNode: u'"></script>\n <script s'>,
2253 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1a50>,
2254 <TextNode: u'"></script>\n <script s'>,
2255 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1dd0>,
2256 <TextNode: u'"></script>\n <script s'>,
2257 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1e90>,
2258 <TextNode: u'"></script>\n <script s'>,
2259 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1b50>,
2260 <TextNode: u'" type="text/javascript">'>,
2261 <Tag: render_block>]</pre></td>
2262 </tr>
2263
2264 <tr>
2265 <td>name</td>
2266 <td class="code"><pre>None</pre></td>
2267 </tr>
2268
2269 <tr>
2270 <td>language</td>
2271 <td class="code"><pre>None</pre></td>
2272 </tr>
2273
2274 <tr>
2275 <td>self</td>
2276 <td class="code"><pre><Tag: cms_toolbar></pre></td>
2277 </tr>
2278
2279 <tr>
2280 <td>request</td>
2281 <td class="code"><pre><WSGIRequest: GET '/en/'></pre></td>
2282 </tr>
2283
2284 <tr>
2285 <td>context</td>
2286 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
2287 </tr>
2288
2289 <tr>
2290 <td>toolbar</td>
2291 <td class="code"><pre><cms.toolbar.toolbar.CMSToolbar object at 0x10647bad0></pre></td>
2292 </tr>
2293
2294 </tbody>
2295 </table>
2296
2297 </li>
2298
2299
2300 <li class="frame django">
2301 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render</code>
2302
2303
2304 <div class="context" id="c4403338560">
2305
2306 <ol start="985" class="pre-context" id="pre4403338560">
2307
2308 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> # extend_nodelist().</pre></li>
2309
2310 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> contains_nontext = False</pre></li>
2311
2312 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre></pre></li>
2313
2314 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> def render(self, context):</pre></li>
2315
2316 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> bits = []</pre></li>
2317
2318 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> for node in self:</pre></li>
2319
2320 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> if isinstance(node, Node):</pre></li>
2321
2322 </ol>
2323
2324 <ol start="992" class="context-line">
2325 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre>
2326 bit = node.render_annotated(context)</pre> <span>...</span></li></ol>
2327
2328 <ol start='993' class="post-context" id="post4403338560">
2329
2330 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> else:</pre></li>
2331
2332 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> bit = node</pre></li>
2333
2334 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> bits.append(force_text(bit))</pre></li>
2335
2336 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> return mark_safe(''.join(bits))</pre></li>
2337
2338 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre></pre></li>
2339
2340 <li onclick="toggle('pre4403338560', 'post4403338560')"><pre> def get_nodes_by_type(self, nodetype):</pre></li>
2341
2342 </ol>
2343
2344 </div>
2345
2346
2347
2348 <div class="commands">
2349
2350 <a href="#" onclick="return varToggle(this, '4403338560')"><span>▶</span> Local vars</a>
2351
2352 </div>
2353 <table class="vars" id="v4403338560">
2354 <thead>
2355 <tr>
2356 <th>Variable</th>
2357 <th>Value</th>
2358 </tr>
2359 </thead>
2360 <tbody>
2361
2362 <tr>
2363 <td>node</td>
2364 <td class="code"><pre><django.template.loader_tags.IncludeNode object at 0x106200690></pre></td>
2365 </tr>
2366
2367 <tr>
2368 <td>bit</td>
2369 <td class="code"><pre>u'\n\n <div class="custom-popup-overlay"></div>\n <div class="custom-popup">\n\t\t<a href="javascript:void(0);" class="cross b-close"></a>\n\t\t<div class="contents-wrapper"></div>\n\t</div>\n\n <div id="main-wrapper">\n <div class="mp-pusher">\n\n '</pre></td>
2370 </tr>
2371
2372 <tr>
2373 <td>bits</td>
2374 <td class="code"><pre>[u'\n ',
2375 u'',
2376 u'\n ',
2377 u'\n\n<nav class="cd-lateral-nav">\n <ul class="cd-navigation">\n \n \n <li class="item-has-children">\n <a href="/en/products/">Products</a>\n <ul class="sub-menu">\n \n \n <li>\n <a href="/en/products/fruits/">Fruits</a>\n </li>\n \n \n \n <li>\n <a href="/en/products/vegetables/">Vegetables</a>\n </li>\n \n \n \n <li>\n <a href="/en/products/dairy/">Dairy</a>\n </li>\n \n \n \n <li>\n <a href="/en/products/meat/">Meat</a>\n </li>\n \n \n \n <li>\n <a href="/en/products/sea-food/">Sea Food</a>\n </li>\n \n \n \n <li>\n <a href="/en/products/chicken/">Chicken</a>\n </li>\n \n \n </ul>\n </li>\n \n \n \n <li><a href="/en/promotions/">Promotions</a></li>\n \n \n \n <li><a href="/en/suppliers/">Suppliers</a></li>\n \n \n \n <li><a href="/en/gallery/">Gallery</a></li>\n \n \n \n <li><a href="/en/contact-us/">Contact us</a></li>\n \n \n </ul>\n <div class="links">\n <ul>\n <li><a href="/en/registration/">Register</a></li>\n <li><a href="/en/authentication/">Login</a></li>\n </ul>\n </div>\n</nav>\n\n',
2378 u'\n\n <div class="custom-popup-overlay"></div>\n <div class="custom-popup">\n\t\t<a href="javascript:void(0);" class="cross b-close"></a>\n\t\t<div class="contents-wrapper"></div>\n\t</div>\n\n <div id="main-wrapper">\n <div class="mp-pusher">\n\n ']</pre></td>
2379 </tr>
2380
2381 <tr>
2382 <td>self</td>
2383 <td class="code"><pre>[<TextNode: u'\n '>,
2384 <IfNode>,
2385 <TextNode: u'\n '>,
2386 <Tag: show_menu>,
2387 <TextNode: u'\n\n <div class="custom-'>,
2388 <django.template.loader_tags.IncludeNode object at 0x106200690>,
2389 <TextNode: u'\n '>,
2390 <Tag: show_menu>,
2391 <TextNode: u'\n\n <main>\n '>,
2392 <Block Node: content. Contents: []>,
2393 <TextNode: u'\n </main>\n\n '>,
2394 <django.template.loader_tags.IncludeNode object at 0x105fc2f90>,
2395 <TextNode: u'\n </div><!-- mp-pu'>,
2396 <django.template.defaulttags.URLNode object at 0x105fc2e50>,
2397 <TextNode: u'"></script>\n\n <script '>,
2398 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc26d0>,
2399 <TextNode: u'"></script>\n <script s'>,
2400 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2b10>,
2401 <TextNode: u'"></script>\n <script s'>,
2402 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2e10>,
2403 <TextNode: u'"></script>\n <script s'>,
2404 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2b90>,
2405 <TextNode: u'"></script>\n <script s'>,
2406 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2890>,
2407 <TextNode: u'"></script>\n\t<script src='>,
2408 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2950>,
2409 <TextNode: u'"></script>\n\t<script src='>,
2410 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2c10>,
2411 <TextNode: u'"></script>\n\t<script src='>,
2412 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2290>,
2413 <TextNode: u'"></script>\n\t<script src='>,
2414 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2a50>,
2415 <TextNode: u'"></script>\n\t<script src='>,
2416 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2050>,
2417 <TextNode: u'"></script>\n <script s'>,
2418 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc22d0>,
2419 <TextNode: u'"></script>\n <script s'>,
2420 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fc2590>,
2421 <TextNode: u'"></script>\n <script s'>,
2422 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1990>,
2423 <TextNode: u'"></script>\n <script s'>,
2424 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1950>,
2425 <TextNode: u'"></script>\n <script s'>,
2426 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb19d0>,
2427 <TextNode: u'"></script>\n <script s'>,
2428 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1610>,
2429 <TextNode: u'"></script>\n <script s'>,
2430 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1ad0>,
2431 <TextNode: u'"></script>\n <script s'>,
2432 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1b90>,
2433 <TextNode: u'"></script>\n <script>\n'>,
2434 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1cd0>,
2435 <TextNode: u'" type="text/javascript">'>,
2436 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1c90>,
2437 <TextNode: u'"></script>\n <script s'>,
2438 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1a50>,
2439 <TextNode: u'"></script>\n <script s'>,
2440 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1dd0>,
2441 <TextNode: u'"></script>\n <script s'>,
2442 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1e90>,
2443 <TextNode: u'"></script>\n <script s'>,
2444 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x105fb1b50>,
2445 <TextNode: u'" type="text/javascript">'>,
2446 <Tag: render_block>]</pre></td>
2447 </tr>
2448
2449 <tr>
2450 <td>context</td>
2451 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
2452 </tr>
2453
2454 </tbody>
2455 </table>
2456
2457 </li>
2458
2459
2460 <li class="frame django">
2461 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render_annotated</code>
2462
2463
2464 <div class="context" id="c4394938952">
2465
2466 <ol start="952" class="pre-context" id="pre4394938952">
2467
2468 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> """</pre></li>
2469
2470 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> Render the node. If debug is True and an exception occurs during</pre></li>
2471
2472 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> rendering, the exception is annotated with contextual line information</pre></li>
2473
2474 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> where it occurred in the template. For internal usage this method is</pre></li>
2475
2476 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> preferred over using the render method directly.</pre></li>
2477
2478 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> """</pre></li>
2479
2480 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> try:</pre></li>
2481
2482 </ol>
2483
2484 <ol start="959" class="context-line">
2485 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre>
2486 return self.render(context)</pre> <span>...</span></li></ol>
2487
2488 <ol start='960' class="post-context" id="post4394938952">
2489
2490 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> except Exception as e:</pre></li>
2491
2492 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> if context.template.engine.debug and not hasattr(e, 'template_debug'):</pre></li>
2493
2494 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> e.template_debug = context.template.get_exception_info(e, self.token)</pre></li>
2495
2496 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> raise</pre></li>
2497
2498 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre></pre></li>
2499
2500 <li onclick="toggle('pre4394938952', 'post4394938952')"><pre> def __iter__(self):</pre></li>
2501
2502 </ol>
2503
2504 </div>
2505
2506
2507
2508 <div class="commands">
2509
2510 <a href="#" onclick="return varToggle(this, '4394938952')"><span>▶</span> Local vars</a>
2511
2512 </div>
2513 <table class="vars" id="v4394938952">
2514 <thead>
2515 <tr>
2516 <th>Variable</th>
2517 <th>Value</th>
2518 </tr>
2519 </thead>
2520 <tbody>
2521
2522 <tr>
2523 <td>self</td>
2524 <td class="code"><pre><django.template.loader_tags.IncludeNode object at 0x106200690></pre></td>
2525 </tr>
2526
2527 <tr>
2528 <td>e</td>
2529 <td class="code"><pre>AttributeError("'int' object has no attribute 'is_nan'",)</pre></td>
2530 </tr>
2531
2532 <tr>
2533 <td>context</td>
2534 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
2535 </tr>
2536
2537 </tbody>
2538 </table>
2539
2540 </li>
2541
2542
2543 <li class="frame django">
2544 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/loader_tags.py</code> in <code>render</code>
2545
2546
2547 <div class="context" id="c4403338488">
2548
2549 <ol start="202" class="pre-context" id="pre4403338488">
2550
2551 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> values = {</pre></li>
2552
2553 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> name: var.resolve(context)</pre></li>
2554
2555 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> for name, var in six.iteritems(self.extra_context)</pre></li>
2556
2557 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> }</pre></li>
2558
2559 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> if self.isolated_context:</pre></li>
2560
2561 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> return template.render(context.new(values))</pre></li>
2562
2563 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> with context.push(**values):</pre></li>
2564
2565 </ol>
2566
2567 <ol start="209" class="context-line">
2568 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre>
2569 return template.render(context)</pre> <span>...</span></li></ol>
2570
2571 <ol start='210' class="post-context" id="post4403338488">
2572
2573 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> except Exception:</pre></li>
2574
2575 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> if context.template.engine.debug:</pre></li>
2576
2577 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> raise</pre></li>
2578
2579 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> template_name = getattr(context, 'template_name', None) or 'unknown'</pre></li>
2580
2581 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> logger.warning(</pre></li>
2582
2583 <li onclick="toggle('pre4403338488', 'post4403338488')"><pre> "Exception raised while rendering {%% include %%} for "</pre></li>
2584
2585 </ol>
2586
2587 </div>
2588
2589
2590
2591 <div class="commands">
2592
2593 <a href="#" onclick="return varToggle(this, '4403338488')"><span>▶</span> Local vars</a>
2594
2595 </div>
2596 <table class="vars" id="v4403338488">
2597 <thead>
2598 <tr>
2599 <th>Variable</th>
2600 <th>Value</th>
2601 </tr>
2602 </thead>
2603 <tbody>
2604
2605 <tr>
2606 <td>template</td>
2607 <td class="code"><pre><django.template.base.Template object at 0x1064a2190></pre></td>
2608 </tr>
2609
2610 <tr>
2611 <td>template_name</td>
2612 <td class="code"><pre>u'_globals/header.html'</pre></td>
2613 </tr>
2614
2615 <tr>
2616 <td>self</td>
2617 <td class="code"><pre><django.template.loader_tags.IncludeNode object at 0x106200690></pre></td>
2618 </tr>
2619
2620 <tr>
2621 <td>cache</td>
2622 <td class="code"><pre>{u'_globals/header.html': <django.template.base.Template object at 0x1064a2190>}</pre></td>
2623 </tr>
2624
2625 <tr>
2626 <td>values</td>
2627 <td class="code"><pre>{}</pre></td>
2628 </tr>
2629
2630 <tr>
2631 <td>context</td>
2632 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
2633 </tr>
2634
2635 </tbody>
2636 </table>
2637
2638 </li>
2639
2640
2641 <li class="frame django">
2642 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render</code>
2643
2644
2645 <div class="context" id="c4403338416">
2646
2647 <ol start="201" class="pre-context" id="pre4403338416">
2648
2649 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> context.render_context.push()</pre></li>
2650
2651 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> try:</pre></li>
2652
2653 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> if context.template is None:</pre></li>
2654
2655 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> with context.bind_template(self):</pre></li>
2656
2657 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> context.template_name = self.name</pre></li>
2658
2659 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> return self._render(context)</pre></li>
2660
2661 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> else:</pre></li>
2662
2663 </ol>
2664
2665 <ol start="208" class="context-line">
2666 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre>
2667 return self._render(context)</pre> <span>...</span></li></ol>
2668
2669 <ol start='209' class="post-context" id="post4403338416">
2670
2671 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> finally:</pre></li>
2672
2673 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> context.render_context.pop()</pre></li>
2674
2675 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre></pre></li>
2676
2677 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> def compile_nodelist(self):</pre></li>
2678
2679 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> """</pre></li>
2680
2681 <li onclick="toggle('pre4403338416', 'post4403338416')"><pre> Parse and compile the template source into a nodelist. If debug</pre></li>
2682
2683 </ol>
2684
2685 </div>
2686
2687
2688
2689 <div class="commands">
2690
2691 <a href="#" onclick="return varToggle(this, '4403338416')"><span>▶</span> Local vars</a>
2692
2693 </div>
2694 <table class="vars" id="v4403338416">
2695 <thead>
2696 <tr>
2697 <th>Variable</th>
2698 <th>Value</th>
2699 </tr>
2700 </thead>
2701 <tbody>
2702
2703 <tr>
2704 <td>self</td>
2705 <td class="code"><pre><django.template.base.Template object at 0x1064a2190></pre></td>
2706 </tr>
2707
2708 <tr>
2709 <td>context</td>
2710 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
2711 </tr>
2712
2713 </tbody>
2714 </table>
2715
2716 </li>
2717
2718
2719 <li class="frame django">
2720 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/test/utils.py</code> in <code>instrumented_test_render</code>
2721
2722
2723 <div class="context" id="c4403338344">
2724
2725 <ol start="85" class="pre-context" id="pre4403338344">
2726
2727 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre></pre></li>
2728
2729 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre>def instrumented_test_render(self, context):</pre></li>
2730
2731 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre> """</pre></li>
2732
2733 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre> An instrumented Template render method, providing a signal</pre></li>
2734
2735 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre> that can be intercepted by the test system Client</pre></li>
2736
2737 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre> """</pre></li>
2738
2739 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre> template_rendered.send(sender=self, template=self, context=context)</pre></li>
2740
2741 </ol>
2742
2743 <ol start="92" class="context-line">
2744 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre>
2745 return self.nodelist.render(context)</pre> <span>...</span></li></ol>
2746
2747 <ol start='93' class="post-context" id="post4403338344">
2748
2749 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre></pre></li>
2750
2751 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre></pre></li>
2752
2753 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre>def setup_test_environment():</pre></li>
2754
2755 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre> """Perform any global pre-test setup. This involves:</pre></li>
2756
2757 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre></pre></li>
2758
2759 <li onclick="toggle('pre4403338344', 'post4403338344')"><pre> - Installing the instrumented test renderer</pre></li>
2760
2761 </ol>
2762
2763 </div>
2764
2765
2766
2767 <div class="commands">
2768
2769 <a href="#" onclick="return varToggle(this, '4403338344')"><span>▶</span> Local vars</a>
2770
2771 </div>
2772 <table class="vars" id="v4403338344">
2773 <thead>
2774 <tr>
2775 <th>Variable</th>
2776 <th>Value</th>
2777 </tr>
2778 </thead>
2779 <tbody>
2780
2781 <tr>
2782 <td>self</td>
2783 <td class="code"><pre><django.template.base.Template object at 0x1064a2190></pre></td>
2784 </tr>
2785
2786 <tr>
2787 <td>context</td>
2788 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
2789 </tr>
2790
2791 </tbody>
2792 </table>
2793
2794 </li>
2795
2796
2797 <li class="frame django">
2798 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render</code>
2799
2800
2801 <div class="context" id="c4403338272">
2802
2803 <ol start="985" class="pre-context" id="pre4403338272">
2804
2805 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> # extend_nodelist().</pre></li>
2806
2807 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> contains_nontext = False</pre></li>
2808
2809 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre></pre></li>
2810
2811 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> def render(self, context):</pre></li>
2812
2813 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> bits = []</pre></li>
2814
2815 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> for node in self:</pre></li>
2816
2817 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> if isinstance(node, Node):</pre></li>
2818
2819 </ol>
2820
2821 <ol start="992" class="context-line">
2822 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre>
2823 bit = node.render_annotated(context)</pre> <span>...</span></li></ol>
2824
2825 <ol start='993' class="post-context" id="post4403338272">
2826
2827 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> else:</pre></li>
2828
2829 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> bit = node</pre></li>
2830
2831 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> bits.append(force_text(bit))</pre></li>
2832
2833 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> return mark_safe(''.join(bits))</pre></li>
2834
2835 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre></pre></li>
2836
2837 <li onclick="toggle('pre4403338272', 'post4403338272')"><pre> def get_nodes_by_type(self, nodetype):</pre></li>
2838
2839 </ol>
2840
2841 </div>
2842
2843
2844
2845 <div class="commands">
2846
2847 <a href="#" onclick="return varToggle(this, '4403338272')"><span>▶</span> Local vars</a>
2848
2849 </div>
2850 <table class="vars" id="v4403338272">
2851 <thead>
2852 <tr>
2853 <th>Variable</th>
2854 <th>Value</th>
2855 </tr>
2856 </thead>
2857 <tbody>
2858
2859 <tr>
2860 <td>node</td>
2861 <td class="code"><pre><IfNode></pre></td>
2862 </tr>
2863
2864 <tr>
2865 <td>bit</td>
2866 <td class="code"><pre>u'\n </li>\n\n '</pre></td>
2867 </tr>
2868
2869 <tr>
2870 <td>bits</td>
2871 <td class="code"><pre>[u'',
2872 u'\n\n<header class="header">\n <div class="container">\n\n <div class="pull-left">\n <a href="/',
2873 u'en',
2874 u'/"><img src="',
2875 u'/static/images/logo.png',
2876 u'" />',
2877 u'</a>\n </div> <!-- pull-left -->\n\n <div class="pull-right">\n <ul class="inline-list mobile-icons inline-list top-links">\n\n <li class="language">\n ',
2878 u'\n\n\n \n \n \n \n <a href="/ar/" title="Change to language: Arabic">Arabic</a>\n \n \n',
2879 u'\n </li>\n\n ']</pre></td>
2880 </tr>
2881
2882 <tr>
2883 <td>self</td>
2884 <td class="code"><pre>[<django.template.defaulttags.LoadNode object at 0x1062c3890>,
2885 <TextNode: u'\n\n<header class="header">'>,
2886 <Variable Node: request.LANGUAGE_CODE>,
2887 <TextNode: u'/"><img src="'>,
2888 <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x1062c3910>,
2889 <TextNode: u'" />'>,
2890 <TextNode: u'</a>\n </div> <!-- '>,
2891 <Tag: language_chooser>,
2892 <TextNode: u'\n </li>\n\n '>,
2893 <IfNode>,
2894 <TextNode: u'\n\n <li>\n '>,
2895 <django.template.loader_tags.IncludeNode object at 0x10646bc90>,
2896 <TextNode: u'\n </li>\n '>,
2897 <IfNode>,
2898 <TextNode: u'\n <li>'>,
2899 <django.template.loader_tags.IncludeNode object at 0x1063260d0>,
2900 <TextNode: u'\n </li'>,
2901 <IfNode>,
2902 <TextNode: u'\n </li'>,
2903 <Tag: language_chooser>,
2904 <TextNode: u'</li>\n </u'>,
2905 <django.template.loader_tags.IncludeNode object at 0x1061809d0>,
2906 <TextNode: u'\n </div><!-- d'>]</pre></td>
2907 </tr>
2908
2909 <tr>
2910 <td>context</td>
2911 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
2912 </tr>
2913
2914 </tbody>
2915 </table>
2916
2917 </li>
2918
2919
2920 <li class="frame django">
2921 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render_annotated</code>
2922
2923
2924 <div class="context" id="c4403336904">
2925
2926 <ol start="952" class="pre-context" id="pre4403336904">
2927
2928 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> """</pre></li>
2929
2930 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> Render the node. If debug is True and an exception occurs during</pre></li>
2931
2932 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> rendering, the exception is annotated with contextual line information</pre></li>
2933
2934 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> where it occurred in the template. For internal usage this method is</pre></li>
2935
2936 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> preferred over using the render method directly.</pre></li>
2937
2938 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> """</pre></li>
2939
2940 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> try:</pre></li>
2941
2942 </ol>
2943
2944 <ol start="959" class="context-line">
2945 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre>
2946 return self.render(context)</pre> <span>...</span></li></ol>
2947
2948 <ol start='960' class="post-context" id="post4403336904">
2949
2950 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> except Exception as e:</pre></li>
2951
2952 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> if context.template.engine.debug and not hasattr(e, 'template_debug'):</pre></li>
2953
2954 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> e.template_debug = context.template.get_exception_info(e, self.token)</pre></li>
2955
2956 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> raise</pre></li>
2957
2958 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre></pre></li>
2959
2960 <li onclick="toggle('pre4403336904', 'post4403336904')"><pre> def __iter__(self):</pre></li>
2961
2962 </ol>
2963
2964 </div>
2965
2966
2967
2968 <div class="commands">
2969
2970 <a href="#" onclick="return varToggle(this, '4403336904')"><span>▶</span> Local vars</a>
2971
2972 </div>
2973 <table class="vars" id="v4403336904">
2974 <thead>
2975 <tr>
2976 <th>Variable</th>
2977 <th>Value</th>
2978 </tr>
2979 </thead>
2980 <tbody>
2981
2982 <tr>
2983 <td>self</td>
2984 <td class="code"><pre><IfNode></pre></td>
2985 </tr>
2986
2987 <tr>
2988 <td>e</td>
2989 <td class="code"><pre>AttributeError("'int' object has no attribute 'is_nan'",)</pre></td>
2990 </tr>
2991
2992 <tr>
2993 <td>context</td>
2994 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
2995 </tr>
2996
2997 </tbody>
2998 </table>
2999
3000 </li>
3001
3002
3003 <li class="frame django">
3004 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/defaulttags.py</code> in <code>render</code>
3005
3006
3007 <div class="context" id="c4403335968">
3008
3009 <ol start="319" class="pre-context" id="pre4403335968">
3010
3011 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre> match = condition.eval(context)</pre></li>
3012
3013 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre> except VariableDoesNotExist:</pre></li>
3014
3015 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre> match = None</pre></li>
3016
3017 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre> else: # else clause</pre></li>
3018
3019 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre> match = True</pre></li>
3020
3021 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre></pre></li>
3022
3023 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre> if match:</pre></li>
3024
3025 </ol>
3026
3027 <ol start="326" class="context-line">
3028 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre>
3029 return nodelist.render(context)</pre> <span>...</span></li></ol>
3030
3031 <ol start='327' class="post-context" id="post4403335968">
3032
3033 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre></pre></li>
3034
3035 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre> return ''</pre></li>
3036
3037 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre></pre></li>
3038
3039 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre></pre></li>
3040
3041 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre>class LoremNode(Node):</pre></li>
3042
3043 <li onclick="toggle('pre4403335968', 'post4403335968')"><pre> def __init__(self, count, method, common):</pre></li>
3044
3045 </ol>
3046
3047 </div>
3048
3049
3050
3051 <div class="commands">
3052
3053 <a href="#" onclick="return varToggle(this, '4403335968')"><span>▶</span> Local vars</a>
3054
3055 </div>
3056 <table class="vars" id="v4403335968">
3057 <thead>
3058 <tr>
3059 <th>Variable</th>
3060 <th>Value</th>
3061 </tr>
3062 </thead>
3063 <tbody>
3064
3065 <tr>
3066 <td>self</td>
3067 <td class="code"><pre><IfNode></pre></td>
3068 </tr>
3069
3070 <tr>
3071 <td>match</td>
3072 <td class="code"><pre>True</pre></td>
3073 </tr>
3074
3075 <tr>
3076 <td>nodelist</td>
3077 <td class="code"><pre>[<TextNode: u'\n <li '>,
3078 <Tag: cart_icon>,
3079 <TextNode: u'\n </li'>]</pre></td>
3080 </tr>
3081
3082 <tr>
3083 <td>condition</td>
3084 <td class="code"><pre>(and (literal <django.template.base.FilterExpression object at 0x10646ba50>) (literal <django.template.base.FilterExpression object at 0x10646b910>))</pre></td>
3085 </tr>
3086
3087 <tr>
3088 <td>context</td>
3089 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
3090 </tr>
3091
3092 </tbody>
3093 </table>
3094
3095 </li>
3096
3097
3098 <li class="frame django">
3099 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render</code>
3100
3101
3102 <div class="context" id="c4403415232">
3103
3104 <ol start="985" class="pre-context" id="pre4403415232">
3105
3106 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> # extend_nodelist().</pre></li>
3107
3108 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> contains_nontext = False</pre></li>
3109
3110 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre></pre></li>
3111
3112 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> def render(self, context):</pre></li>
3113
3114 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> bits = []</pre></li>
3115
3116 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> for node in self:</pre></li>
3117
3118 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> if isinstance(node, Node):</pre></li>
3119
3120 </ol>
3121
3122 <ol start="992" class="context-line">
3123 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre>
3124 bit = node.render_annotated(context)</pre> <span>...</span></li></ol>
3125
3126 <ol start='993' class="post-context" id="post4403415232">
3127
3128 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> else:</pre></li>
3129
3130 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> bit = node</pre></li>
3131
3132 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> bits.append(force_text(bit))</pre></li>
3133
3134 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> return mark_safe(''.join(bits))</pre></li>
3135
3136 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre></pre></li>
3137
3138 <li onclick="toggle('pre4403415232', 'post4403415232')"><pre> def get_nodes_by_type(self, nodetype):</pre></li>
3139
3140 </ol>
3141
3142 </div>
3143
3144
3145
3146 <div class="commands">
3147
3148 <a href="#" onclick="return varToggle(this, '4403415232')"><span>▶</span> Local vars</a>
3149
3150 </div>
3151 <table class="vars" id="v4403415232">
3152 <thead>
3153 <tr>
3154 <th>Variable</th>
3155 <th>Value</th>
3156 </tr>
3157 </thead>
3158 <tbody>
3159
3160 <tr>
3161 <td>node</td>
3162 <td class="code"><pre><Tag: cart_icon></pre></td>
3163 </tr>
3164
3165 <tr>
3166 <td>bit</td>
3167 <td class="code"><pre>u'\n <li class="cart-icon">\n '</pre></td>
3168 </tr>
3169
3170 <tr>
3171 <td>bits</td>
3172 <td class="code"><pre>[u'\n <li class="cart-icon">\n ']</pre></td>
3173 </tr>
3174
3175 <tr>
3176 <td>self</td>
3177 <td class="code"><pre>[<TextNode: u'\n <li '>,
3178 <Tag: cart_icon>,
3179 <TextNode: u'\n </li'>]</pre></td>
3180 </tr>
3181
3182 <tr>
3183 <td>context</td>
3184 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
3185 </tr>
3186
3187 </tbody>
3188 </table>
3189
3190 </li>
3191
3192
3193 <li class="frame django">
3194 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py</code> in <code>render_annotated</code>
3195
3196
3197 <div class="context" id="c4403413288">
3198
3199 <ol start="952" class="pre-context" id="pre4403413288">
3200
3201 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> """</pre></li>
3202
3203 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> Render the node. If debug is True and an exception occurs during</pre></li>
3204
3205 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> rendering, the exception is annotated with contextual line information</pre></li>
3206
3207 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> where it occurred in the template. For internal usage this method is</pre></li>
3208
3209 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> preferred over using the render method directly.</pre></li>
3210
3211 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> """</pre></li>
3212
3213 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> try:</pre></li>
3214
3215 </ol>
3216
3217 <ol start="959" class="context-line">
3218 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre>
3219 return self.render(context)</pre> <span>...</span></li></ol>
3220
3221 <ol start='960' class="post-context" id="post4403413288">
3222
3223 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> except Exception as e:</pre></li>
3224
3225 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> if context.template.engine.debug and not hasattr(e, 'template_debug'):</pre></li>
3226
3227 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> e.template_debug = context.template.get_exception_info(e, self.token)</pre></li>
3228
3229 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> raise</pre></li>
3230
3231 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre></pre></li>
3232
3233 <li onclick="toggle('pre4403413288', 'post4403413288')"><pre> def __iter__(self):</pre></li>
3234
3235 </ol>
3236
3237 </div>
3238
3239
3240
3241 <div class="commands">
3242
3243 <a href="#" onclick="return varToggle(this, '4403413288')"><span>▶</span> Local vars</a>
3244
3245 </div>
3246 <table class="vars" id="v4403413288">
3247 <thead>
3248 <tr>
3249 <th>Variable</th>
3250 <th>Value</th>
3251 </tr>
3252 </thead>
3253 <tbody>
3254
3255 <tr>
3256 <td>self</td>
3257 <td class="code"><pre><Tag: cart_icon></pre></td>
3258 </tr>
3259
3260 <tr>
3261 <td>e</td>
3262 <td class="code"><pre>AttributeError("'int' object has no attribute 'is_nan'",)</pre></td>
3263 </tr>
3264
3265 <tr>
3266 <td>context</td>
3267 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
3268 </tr>
3269
3270 </tbody>
3271 </table>
3272
3273 </li>
3274
3275
3276 <li class="frame user">
3277 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/classytags/core.py</code> in <code>render</code>
3278
3279
3280 <div class="context" id="c4403414656">
3281
3282 <ol start="139" class="pre-context" id="pre4403414656">
3283
3284 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> """</pre></li>
3285
3286 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> INTERNAL method to prepare rendering</pre></li>
3287
3288 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> Usually you should not override this method, but rather use render_tag.</pre></li>
3289
3290 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> """</pre></li>
3291
3292 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> items = self.kwargs.items()</pre></li>
3293
3294 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> kwargs = dict([(key, value.resolve(context)) for key, value in items])</pre></li>
3295
3296 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> kwargs.update(self.blocks)</pre></li>
3297
3298 </ol>
3299
3300 <ol start="146" class="context-line">
3301 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre>
3302 return self.render_tag(context, **kwargs)</pre> <span>...</span></li></ol>
3303
3304 <ol start='147' class="post-context" id="post4403414656">
3305
3306 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre></pre></li>
3307
3308 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> def render_tag(self, context, **kwargs):</pre></li>
3309
3310 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> """</pre></li>
3311
3312 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> The method you should override in your custom tags</pre></li>
3313
3314 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> """</pre></li>
3315
3316 <li onclick="toggle('pre4403414656', 'post4403414656')"><pre> raise NotImplementedError</pre></li>
3317
3318 </ol>
3319
3320 </div>
3321
3322
3323
3324 <div class="commands">
3325
3326 <a href="#" onclick="return varToggle(this, '4403414656')"><span>▶</span> Local vars</a>
3327
3328 </div>
3329 <table class="vars" id="v4403414656">
3330 <thead>
3331 <tr>
3332 <th>Variable</th>
3333 <th>Value</th>
3334 </tr>
3335 </thead>
3336 <tbody>
3337
3338 <tr>
3339 <td>items</td>
3340 <td class="code"><pre>[]</pre></td>
3341 </tr>
3342
3343 <tr>
3344 <td>self</td>
3345 <td class="code"><pre><Tag: cart_icon></pre></td>
3346 </tr>
3347
3348 <tr>
3349 <td>context</td>
3350 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
3351 </tr>
3352
3353 <tr>
3354 <td>kwargs</td>
3355 <td class="code"><pre>{}</pre></td>
3356 </tr>
3357
3358 </tbody>
3359 </table>
3360
3361 </li>
3362
3363
3364 <li class="frame user">
3365 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/classytags/helpers.py</code> in <code>render_tag</code>
3366
3367
3368 <div class="context" id="c4401032800">
3369
3370 <ol start="81" class="pre-context" id="pre4401032800">
3371
3372 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> if self.push_context:</pre></li>
3373
3374 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> safe_context = flatten_context(context)</pre></li>
3375
3376 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> data = self.get_context(safe_context, **kwargs)</pre></li>
3377
3378 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> safe_context.update(**data)</pre></li>
3379
3380 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> output = render_to_string(template, safe_context)</pre></li>
3381
3382 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> else:</pre></li>
3383
3384 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> new_context = context.new(</pre></li>
3385
3386 </ol>
3387
3388 <ol start="88" class="context-line">
3389 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre>
3390 flatten_context(self.get_context(context, **kwargs))</pre> <span>...</span></li></ol>
3391
3392 <ol start='89' class="post-context" id="post4401032800">
3393
3394 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> )</pre></li>
3395
3396 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> data = flatten_context(new_context)</pre></li>
3397
3398 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> output = render_to_string(template, data)</pre></li>
3399
3400 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> return output</pre></li>
3401
3402 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre></pre></li>
3403
3404 <li onclick="toggle('pre4401032800', 'post4401032800')"><pre> def get_template(self, context, **kwargs):</pre></li>
3405
3406 </ol>
3407
3408 </div>
3409
3410
3411
3412 <div class="commands">
3413
3414 <a href="#" onclick="return varToggle(this, '4401032800')"><span>▶</span> Local vars</a>
3415
3416 </div>
3417 <table class="vars" id="v4401032800">
3418 <thead>
3419 <tr>
3420 <th>Variable</th>
3421 <th>Value</th>
3422 </tr>
3423 </thead>
3424 <tbody>
3425
3426 <tr>
3427 <td>self</td>
3428 <td class="code"><pre><Tag: cart_icon></pre></td>
3429 </tr>
3430
3431 <tr>
3432 <td>template</td>
3433 <td class="code"><pre>u'shop/templatetags/cart-icon.html'</pre></td>
3434 </tr>
3435
3436 <tr>
3437 <td>context</td>
3438 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
3439 </tr>
3440
3441 <tr>
3442 <td>kwargs</td>
3443 <td class="code"><pre>{}</pre></td>
3444 </tr>
3445
3446 </tbody>
3447 </table>
3448
3449 </li>
3450
3451
3452 <li class="frame user">
3453 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/shop/templatetags/shop_tags.py</code> in <code>get_context</code>
3454
3455
3456 <div class="context" id="c4403061680">
3457
3458 <ol start="26" class="pre-context" id="pre4403061680">
3459
3460 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> 'shop/templatetags/cart-icon.html',</pre></li>
3461
3462 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> ])</pre></li>
3463
3464 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> return template.template.name</pre></li>
3465
3466 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre></pre></li>
3467
3468 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> def get_context(self, context):</pre></li>
3469
3470 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> request = context['request']</pre></li>
3471
3472 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> try:</pre></li>
3473
3474 </ol>
3475
3476 <ol start="33" class="context-line">
3477 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre>
3478 cart = CartModel.objects.get_from_request(request)</pre> <span>...</span></li></ol>
3479
3480 <ol start='34' class="post-context" id="post4403061680">
3481
3482 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> cart.update(request)</pre></li>
3483
3484 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> context['cart'] = cart</pre></li>
3485
3486 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> except CartModel.DoesNotExist:</pre></li>
3487
3488 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> pass</pre></li>
3489
3490 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre> return context</pre></li>
3491
3492 <li onclick="toggle('pre4403061680', 'post4403061680')"><pre>register.tag(CartIcon)</pre></li>
3493
3494 </ol>
3495
3496 </div>
3497
3498
3499
3500 <div class="commands">
3501
3502 <a href="#" onclick="return varToggle(this, '4403061680')"><span>▶</span> Local vars</a>
3503
3504 </div>
3505 <table class="vars" id="v4403061680">
3506 <thead>
3507 <tr>
3508 <th>Variable</th>
3509 <th>Value</th>
3510 </tr>
3511 </thead>
3512 <tbody>
3513
3514 <tr>
3515 <td>self</td>
3516 <td class="code"><pre><Tag: cart_icon></pre></td>
3517 </tr>
3518
3519 <tr>
3520 <td>request</td>
3521 <td class="code"><pre><WSGIRequest: GET '/en/'></pre></td>
3522 </tr>
3523
3524 <tr>
3525 <td>context</td>
3526 <td class="code"><pre>[{'False': False, 'None': None, 'True': True}, {}, {}, {'python_version': '2.7.10', 'cms_edit_on': 'edit', 'to_level': 3, 'extra_active': 3, 'namespace': None, 'from_level': 0, 'extra_inactive': 3, u'vendors': [<Vendor: Vegetables Market>, <Vendor: vendor 3>, <Vendor: Test Vendor>, <Vendor: Vendor>], u'products': [<Product: test>, <Product: test>, <Product: asasada>, <Product: test>, <Product: tet22>, <Product: test2>], 'cms_version': '3.3.0', 'template': u'menu/mobile_nav.html', 'cms_edit_off': 'edit_off', 'children': [<Navigation Node: Products>, <Navigation Node: Promotions>, <Navigation Node: Suppliers>, <Navigation Node: Gallery>, <Navigation Node: Contact us>], 'django_version': '1.9.7', u'view': <base.homepage.views.HomepageView object at 0x105660e50>}]</pre></td>
3527 </tr>
3528
3529 </tbody>
3530 </table>
3531
3532 </li>
3533
3534
3535 <li class="frame user">
3536 <code>/Users/dacianpopute/dev/myjumla/myjumla/jumla_shop/managers/cart.py</code> in <code>get_from_request</code>
3537
3538
3539 <div class="context" id="c4403178672">
3540
3541 <ol start="13" class="pre-context" id="pre4403178672">
3542
3543 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> def get_from_request(self, request):</pre></li>
3544
3545 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> """</pre></li>
3546
3547 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> Return the cart for current customer.</pre></li>
3548
3549 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> """</pre></li>
3550
3551 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> if not isinstance(request.entity, Customer):</pre></li>
3552
3553 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> raise self.model.DoesNotExist(</pre></li>
3554
3555 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> "Cart is available only for customers.")</pre></li>
3556
3557 </ol>
3558
3559 <ol start="20" class="context-line">
3560 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre>
3561 cart, temp = self.get_or_create(customer=request.entity)</pre> <span>...</span></li></ol>
3562
3563 <ol start='21' class="post-context" id="post4403178672">
3564
3565 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> return cart</pre></li>
3566
3567 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre></pre></li>
3568
3569 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> def get_or_create_from_request(self, request):</pre></li>
3570
3571 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> if request.user.customer.is_visitor():</pre></li>
3572
3573 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> request.user.customer = Customer.objects.get_or_create_from_request(</pre></li>
3574
3575 <li onclick="toggle('pre4403178672', 'post4403178672')"><pre> request)</pre></li>
3576
3577 </ol>
3578
3579 </div>
3580
3581
3582
3583 <div class="commands">
3584
3585 <a href="#" onclick="return varToggle(this, '4403178672')"><span>▶</span> Local vars</a>
3586
3587 </div>
3588 <table class="vars" id="v4403178672">
3589 <thead>
3590 <tr>
3591 <th>Variable</th>
3592 <th>Value</th>
3593 </tr>
3594 </thead>
3595 <tbody>
3596
3597 <tr>
3598 <td>self</td>
3599 <td class="code"><pre><jumla_shop.managers.cart.CartManager object at 0x1048efcd0></pre></td>
3600 </tr>
3601
3602 <tr>
3603 <td>request</td>
3604 <td class="code"><pre><WSGIRequest: GET '/en/'></pre></td>
3605 </tr>
3606
3607 </tbody>
3608 </table>
3609
3610 </li>
3611
3612
3613 <li class="frame django">
3614 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/manager.py</code> in <code>manager_method</code>
3615
3616
3617 <div class="context" id="c4402955544">
3618
3619 <ol start="115" class="pre-context" id="pre4402955544">
3620
3621 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> def check(self, **kwargs):</pre></li>
3622
3623 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> return []</pre></li>
3624
3625 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre></pre></li>
3626
3627 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> @classmethod</pre></li>
3628
3629 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> def _get_queryset_methods(cls, queryset_class):</pre></li>
3630
3631 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> def create_method(name, method):</pre></li>
3632
3633 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> def manager_method(self, *args, **kwargs):</pre></li>
3634
3635 </ol>
3636
3637 <ol start="122" class="context-line">
3638 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre>
3639 return getattr(self.get_queryset(), name)(*args, **kwargs)</pre> <span>...</span></li></ol>
3640
3641 <ol start='123' class="post-context" id="post4402955544">
3642
3643 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> manager_method.__name__ = method.__name__</pre></li>
3644
3645 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> manager_method.__doc__ = method.__doc__</pre></li>
3646
3647 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> return manager_method</pre></li>
3648
3649 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre></pre></li>
3650
3651 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> new_methods = {}</pre></li>
3652
3653 <li onclick="toggle('pre4402955544', 'post4402955544')"><pre> # Refs http://bugs.python.org/issue1785.</pre></li>
3654
3655 </ol>
3656
3657 </div>
3658
3659
3660
3661 <div class="commands">
3662
3663 <a href="#" onclick="return varToggle(this, '4402955544')"><span>▶</span> Local vars</a>
3664
3665 </div>
3666 <table class="vars" id="v4402955544">
3667 <thead>
3668 <tr>
3669 <th>Variable</th>
3670 <th>Value</th>
3671 </tr>
3672 </thead>
3673 <tbody>
3674
3675 <tr>
3676 <td>self</td>
3677 <td class="code"><pre><jumla_shop.managers.cart.CartManager object at 0x1048efcd0></pre></td>
3678 </tr>
3679
3680 <tr>
3681 <td>args</td>
3682 <td class="code"><pre>()</pre></td>
3683 </tr>
3684
3685 <tr>
3686 <td>name</td>
3687 <td class="code"><pre>'get_or_create'</pre></td>
3688 </tr>
3689
3690 <tr>
3691 <td>kwargs</td>
3692 <td class="code"><pre>{'customer': <SimpleLazyObject: <Customer: >>}</pre></td>
3693 </tr>
3694
3695 </tbody>
3696 </table>
3697
3698 </li>
3699
3700
3701 <li class="frame django">
3702 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/query.py</code> in <code>get_or_create</code>
3703
3704
3705 <div class="context" id="c4400514400">
3706
3707 <ol start="460" class="pre-context" id="pre4400514400">
3708
3709 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> lookup, params = self._extract_model_params(defaults, **kwargs)</pre></li>
3710
3711 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> # The get() needs to be targeted at the write database in order</pre></li>
3712
3713 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> # to avoid potential transaction consistency problems.</pre></li>
3714
3715 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> self._for_write = True</pre></li>
3716
3717 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> try:</pre></li>
3718
3719 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> return self.get(**lookup), False</pre></li>
3720
3721 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> except self.model.DoesNotExist:</pre></li>
3722
3723 </ol>
3724
3725 <ol start="467" class="context-line">
3726 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre>
3727 return self._create_object_from_params(lookup, params)</pre> <span>...</span></li></ol>
3728
3729 <ol start='468' class="post-context" id="post4400514400">
3730
3731 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre></pre></li>
3732
3733 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> def update_or_create(self, defaults=None, **kwargs):</pre></li>
3734
3735 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> """</pre></li>
3736
3737 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> Looks up an object with the given kwargs, updating one with defaults</pre></li>
3738
3739 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> if it exists, otherwise creates a new one.</pre></li>
3740
3741 <li onclick="toggle('pre4400514400', 'post4400514400')"><pre> Returns a tuple (object, created), where created is a boolean</pre></li>
3742
3743 </ol>
3744
3745 </div>
3746
3747
3748
3749 <div class="commands">
3750
3751 <a href="#" onclick="return varToggle(this, '4400514400')"><span>▶</span> Local vars</a>
3752
3753 </div>
3754 <table class="vars" id="v4400514400">
3755 <thead>
3756 <tr>
3757 <th>Variable</th>
3758 <th>Value</th>
3759 </tr>
3760 </thead>
3761 <tbody>
3762
3763 <tr>
3764 <td>params</td>
3765 <td class="code"><pre>{'customer': <SimpleLazyObject: <Customer: >>}</pre></td>
3766 </tr>
3767
3768 <tr>
3769 <td>self</td>
3770 <td class="code"><pre>[<Cart: 7>, <Cart: 6>]</pre></td>
3771 </tr>
3772
3773 <tr>
3774 <td>lookup</td>
3775 <td class="code"><pre>{'customer': <SimpleLazyObject: <Customer: >>}</pre></td>
3776 </tr>
3777
3778 <tr>
3779 <td>defaults</td>
3780 <td class="code"><pre>None</pre></td>
3781 </tr>
3782
3783 <tr>
3784 <td>kwargs</td>
3785 <td class="code"><pre>{'customer': <SimpleLazyObject: <Customer: >>}</pre></td>
3786 </tr>
3787
3788 </tbody>
3789 </table>
3790
3791 </li>
3792
3793
3794 <li class="frame django">
3795 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/query.py</code> in <code>_create_object_from_params</code>
3796
3797
3798 <div class="context" id="c4403034952">
3799
3800 <ol start="492" class="pre-context" id="pre4403034952">
3801
3802 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> def _create_object_from_params(self, lookup, params):</pre></li>
3803
3804 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> """</pre></li>
3805
3806 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> Tries to create an object using passed params.</pre></li>
3807
3808 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> Used by get_or_create and update_or_create</pre></li>
3809
3810 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> """</pre></li>
3811
3812 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> try:</pre></li>
3813
3814 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> with transaction.atomic(using=self.db):</pre></li>
3815
3816 </ol>
3817
3818 <ol start="499" class="context-line">
3819 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre>
3820 obj = self.create(**params)</pre> <span>...</span></li></ol>
3821
3822 <ol start='500' class="post-context" id="post4403034952">
3823
3824 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> return obj, True</pre></li>
3825
3826 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> except IntegrityError:</pre></li>
3827
3828 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> exc_info = sys.exc_info()</pre></li>
3829
3830 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> try:</pre></li>
3831
3832 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> return self.get(**lookup), False</pre></li>
3833
3834 <li onclick="toggle('pre4403034952', 'post4403034952')"><pre> except self.model.DoesNotExist:</pre></li>
3835
3836 </ol>
3837
3838 </div>
3839
3840
3841
3842 <div class="commands">
3843
3844 <a href="#" onclick="return varToggle(this, '4403034952')"><span>▶</span> Local vars</a>
3845
3846 </div>
3847 <table class="vars" id="v4403034952">
3848 <thead>
3849 <tr>
3850 <th>Variable</th>
3851 <th>Value</th>
3852 </tr>
3853 </thead>
3854 <tbody>
3855
3856 <tr>
3857 <td>params</td>
3858 <td class="code"><pre>{'customer': <SimpleLazyObject: <Customer: >>}</pre></td>
3859 </tr>
3860
3861 <tr>
3862 <td>self</td>
3863 <td class="code"><pre>[<Cart: 7>, <Cart: 6>]</pre></td>
3864 </tr>
3865
3866 <tr>
3867 <td>lookup</td>
3868 <td class="code"><pre>{'customer': <SimpleLazyObject: <Customer: >>}</pre></td>
3869 </tr>
3870
3871 </tbody>
3872 </table>
3873
3874 </li>
3875
3876
3877 <li class="frame django">
3878 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/query.py</code> in <code>create</code>
3879
3880
3881 <div class="context" id="c4403034880">
3882
3883 <ol start="394" class="pre-context" id="pre4403034880">
3884
3885 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> def create(self, **kwargs):</pre></li>
3886
3887 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> """</pre></li>
3888
3889 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> Creates a new object with the given kwargs, saving it to the database</pre></li>
3890
3891 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> and returning the created object.</pre></li>
3892
3893 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> """</pre></li>
3894
3895 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> obj = self.model(**kwargs)</pre></li>
3896
3897 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> self._for_write = True</pre></li>
3898
3899 </ol>
3900
3901 <ol start="401" class="context-line">
3902 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre>
3903 obj.save(force_insert=True, using=self.db)</pre> <span>...</span></li></ol>
3904
3905 <ol start='402' class="post-context" id="post4403034880">
3906
3907 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> return obj</pre></li>
3908
3909 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre></pre></li>
3910
3911 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> def _populate_pk_values(self, objs):</pre></li>
3912
3913 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> for obj in objs:</pre></li>
3914
3915 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> if obj.pk is None:</pre></li>
3916
3917 <li onclick="toggle('pre4403034880', 'post4403034880')"><pre> obj.pk = obj._meta.pk.get_pk_value_on_save(obj)</pre></li>
3918
3919 </ol>
3920
3921 </div>
3922
3923
3924
3925 <div class="commands">
3926
3927 <a href="#" onclick="return varToggle(this, '4403034880')"><span>▶</span> Local vars</a>
3928
3929 </div>
3930 <table class="vars" id="v4403034880">
3931 <thead>
3932 <tr>
3933 <th>Variable</th>
3934 <th>Value</th>
3935 </tr>
3936 </thead>
3937 <tbody>
3938
3939 <tr>
3940 <td>self</td>
3941 <td class="code"><pre>[<Cart: 7>, <Cart: 6>]</pre></td>
3942 </tr>
3943
3944 <tr>
3945 <td>obj</td>
3946 <td class="code"><pre><Cart: None></pre></td>
3947 </tr>
3948
3949 <tr>
3950 <td>kwargs</td>
3951 <td class="code"><pre>{'customer': <SimpleLazyObject: <Customer: >>}</pre></td>
3952 </tr>
3953
3954 </tbody>
3955 </table>
3956
3957 </li>
3958
3959
3960 <li class="frame user">
3961 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/shop/models/cart.py</code> in <code>save</code>
3962
3963
3964 <div class="context" id="c4403169328">
3965
3966 <ol start="162" class="pre-context" id="pre4403169328">
3967
3968 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> super(BaseCart, self).__init__(*args, **kwargs)</pre></li>
3969
3970 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> # That will hold things like tax totals or total discount</pre></li>
3971
3972 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> self.extra_rows = OrderedDict()</pre></li>
3973
3974 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> self._cached_cart_items = None</pre></li>
3975
3976 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> self._dirty = True</pre></li>
3977
3978 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre></pre></li>
3979
3980 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> def save(self, *args, **kwargs):</pre></li>
3981
3982 </ol>
3983
3984 <ol start="169" class="context-line">
3985 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre>
3986 super(BaseCart, self).save(*args, **kwargs)</pre> <span>...</span></li></ol>
3987
3988 <ol start='170' class="post-context" id="post4403169328">
3989
3990 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> self._dirty = True</pre></li>
3991
3992 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre></pre></li>
3993
3994 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> def update(self, request):</pre></li>
3995
3996 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> """</pre></li>
3997
3998 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre> This should be called after a cart item changed quantity, has been added or removed.</pre></li>
3999
4000 <li onclick="toggle('pre4403169328', 'post4403169328')"><pre></pre></li>
4001
4002 </ol>
4003
4004 </div>
4005
4006
4007
4008 <div class="commands">
4009
4010 <a href="#" onclick="return varToggle(this, '4403169328')"><span>▶</span> Local vars</a>
4011
4012 </div>
4013 <table class="vars" id="v4403169328">
4014 <thead>
4015 <tr>
4016 <th>Variable</th>
4017 <th>Value</th>
4018 </tr>
4019 </thead>
4020 <tbody>
4021
4022 <tr>
4023 <td>self</td>
4024 <td class="code"><pre><Cart: None></pre></td>
4025 </tr>
4026
4027 <tr>
4028 <td>args</td>
4029 <td class="code"><pre>()</pre></td>
4030 </tr>
4031
4032 <tr>
4033 <td>kwargs</td>
4034 <td class="code"><pre>{'force_insert': True, 'using': 'default'}</pre></td>
4035 </tr>
4036
4037 </tbody>
4038 </table>
4039
4040 </li>
4041
4042
4043 <li class="frame django">
4044 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/base.py</code> in <code>save</code>
4045
4046
4047 <div class="context" id="c4402940168">
4048
4049 <ol start="701" class="pre-context" id="pre4402940168">
4050
4051 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> ]</pre></li>
4052
4053 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre></pre></li>
4054
4055 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> loaded_fields = field_names.difference(deferred_fields)</pre></li>
4056
4057 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> if loaded_fields:</pre></li>
4058
4059 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> update_fields = frozenset(loaded_fields)</pre></li>
4060
4061 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre></pre></li>
4062
4063 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> self.save_base(using=using, force_insert=force_insert,</pre></li>
4064
4065 </ol>
4066
4067 <ol start="708" class="context-line">
4068 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre>
4069 force_update=force_update, update_fields=update_fields)</pre> <span>...</span></li></ol>
4070
4071 <ol start='709' class="post-context" id="post4402940168">
4072
4073 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> save.alters_data = True</pre></li>
4074
4075 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre></pre></li>
4076
4077 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> def save_base(self, raw=False, force_insert=False,</pre></li>
4078
4079 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> force_update=False, using=None, update_fields=None):</pre></li>
4080
4081 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> """</pre></li>
4082
4083 <li onclick="toggle('pre4402940168', 'post4402940168')"><pre> Handles the parts of saving which should be done only once per save,</pre></li>
4084
4085 </ol>
4086
4087 </div>
4088
4089
4090
4091 <div class="commands">
4092
4093 <a href="#" onclick="return varToggle(this, '4402940168')"><span>▶</span> Local vars</a>
4094
4095 </div>
4096 <table class="vars" id="v4402940168">
4097 <thead>
4098 <tr>
4099 <th>Variable</th>
4100 <th>Value</th>
4101 </tr>
4102 </thead>
4103 <tbody>
4104
4105 <tr>
4106 <td>update_fields</td>
4107 <td class="code"><pre>None</pre></td>
4108 </tr>
4109
4110 <tr>
4111 <td>obj</td>
4112 <td class="code"><pre><SimpleLazyObject: <Customer: >></pre></td>
4113 </tr>
4114
4115 <tr>
4116 <td>force_insert</td>
4117 <td class="code"><pre>True</pre></td>
4118 </tr>
4119
4120 <tr>
4121 <td>self</td>
4122 <td class="code"><pre><Cart: None></pre></td>
4123 </tr>
4124
4125 <tr>
4126 <td>force_update</td>
4127 <td class="code"><pre>False</pre></td>
4128 </tr>
4129
4130 <tr>
4131 <td>field</td>
4132 <td class="code"><pre><django.db.models.fields.related.OneToOneField: customer></pre></td>
4133 </tr>
4134
4135 <tr>
4136 <td>using</td>
4137 <td class="code"><pre>'default'</pre></td>
4138 </tr>
4139
4140 </tbody>
4141 </table>
4142
4143 </li>
4144
4145
4146 <li class="frame django">
4147 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/base.py</code> in <code>save_base</code>
4148
4149
4150 <div class="context" id="c4403162504">
4151
4152 <ol start="729" class="pre-context" id="pre4403162504">
4153
4154 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> meta = cls._meta</pre></li>
4155
4156 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> if not meta.auto_created:</pre></li>
4157
4158 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> signals.pre_save.send(sender=origin, instance=self, raw=raw, using=using,</pre></li>
4159
4160 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> update_fields=update_fields)</pre></li>
4161
4162 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> with transaction.atomic(using=using, savepoint=False):</pre></li>
4163
4164 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> if not raw:</pre></li>
4165
4166 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> self._save_parents(cls, using, update_fields)</pre></li>
4167
4168 </ol>
4169
4170 <ol start="736" class="context-line">
4171 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre>
4172 updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)</pre> <span>...</span></li></ol>
4173
4174 <ol start='737' class="post-context" id="post4403162504">
4175
4176 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> # Store the database on which the object was saved</pre></li>
4177
4178 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> self._state.db = using</pre></li>
4179
4180 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> # Once saved, this is no longer a to-be-added instance.</pre></li>
4181
4182 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> self._state.adding = False</pre></li>
4183
4184 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre></pre></li>
4185
4186 <li onclick="toggle('pre4403162504', 'post4403162504')"><pre> # Signal that the save is complete</pre></li>
4187
4188 </ol>
4189
4190 </div>
4191
4192
4193
4194 <div class="commands">
4195
4196 <a href="#" onclick="return varToggle(this, '4403162504')"><span>▶</span> Local vars</a>
4197
4198 </div>
4199 <table class="vars" id="v4403162504">
4200 <thead>
4201 <tr>
4202 <th>Variable</th>
4203 <th>Value</th>
4204 </tr>
4205 </thead>
4206 <tbody>
4207
4208 <tr>
4209 <td>origin</td>
4210 <td class="code"><pre><class 'jumla_shop.models.cart.Cart'></pre></td>
4211 </tr>
4212
4213 <tr>
4214 <td>update_fields</td>
4215 <td class="code"><pre>None</pre></td>
4216 </tr>
4217
4218 <tr>
4219 <td>force_insert</td>
4220 <td class="code"><pre>True</pre></td>
4221 </tr>
4222
4223 <tr>
4224 <td>self</td>
4225 <td class="code"><pre><Cart: None></pre></td>
4226 </tr>
4227
4228 <tr>
4229 <td>force_update</td>
4230 <td class="code"><pre>False</pre></td>
4231 </tr>
4232
4233 <tr>
4234 <td>raw</td>
4235 <td class="code"><pre>False</pre></td>
4236 </tr>
4237
4238 <tr>
4239 <td>meta</td>
4240 <td class="code"><pre><Options for Cart></pre></td>
4241 </tr>
4242
4243 <tr>
4244 <td>using</td>
4245 <td class="code"><pre>'default'</pre></td>
4246 </tr>
4247
4248 <tr>
4249 <td>cls</td>
4250 <td class="code"><pre><class 'jumla_shop.models.cart.Cart'></pre></td>
4251 </tr>
4252
4253 </tbody>
4254 </table>
4255
4256 </li>
4257
4258
4259 <li class="frame django">
4260 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/base.py</code> in <code>_save_table</code>
4261
4262
4263 <div class="context" id="c4403160704">
4264
4265 <ol start="813" class="pre-context" id="pre4403160704">
4266
4267 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> self._order = order_value</pre></li>
4268
4269 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre></pre></li>
4270
4271 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> fields = meta.local_concrete_fields</pre></li>
4272
4273 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> if not pk_set:</pre></li>
4274
4275 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> fields = [f for f in fields if not isinstance(f, AutoField)]</pre></li>
4276
4277 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre></pre></li>
4278
4279 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> update_pk = bool(meta.has_auto_field and not pk_set)</pre></li>
4280
4281 </ol>
4282
4283 <ol start="820" class="context-line">
4284 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre>
4285 result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)</pre> <span>...</span></li></ol>
4286
4287 <ol start='821' class="post-context" id="post4403160704">
4288
4289 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> if update_pk:</pre></li>
4290
4291 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> setattr(self, meta.pk.attname, result)</pre></li>
4292
4293 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> return updated</pre></li>
4294
4295 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre></pre></li>
4296
4297 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> def _do_update(self, base_qs, using, pk_val, values, update_fields, forced_update):</pre></li>
4298
4299 <li onclick="toggle('pre4403160704', 'post4403160704')"><pre> """</pre></li>
4300
4301 </ol>
4302
4303 </div>
4304
4305
4306
4307 <div class="commands">
4308
4309 <a href="#" onclick="return varToggle(this, '4403160704')"><span>▶</span> Local vars</a>
4310
4311 </div>
4312 <table class="vars" id="v4403160704">
4313 <thead>
4314 <tr>
4315 <th>Variable</th>
4316 <th>Value</th>
4317 </tr>
4318 </thead>
4319 <tbody>
4320
4321 <tr>
4322 <td>update_fields</td>
4323 <td class="code"><pre>None</pre></td>
4324 </tr>
4325
4326 <tr>
4327 <td>non_pks</td>
4328 <td class="code"><pre>[<django.db.models.fields.DateTimeField: created_at>,
4329 <django.db.models.fields.DateTimeField: updated_at>,
4330 <jsonfield.fields.JSONField: extra>,
4331 <shop.money.fields.MoneyField: service_charge>,
4332 <shop.money.fields.MoneyField: delivery_charge>,
4333 <django.db.models.fields.related.OneToOneField: customer>]</pre></td>
4334 </tr>
4335
4336 <tr>
4337 <td>updated</td>
4338 <td class="code"><pre>False</pre></td>
4339 </tr>
4340
4341 <tr>
4342 <td>f</td>
4343 <td class="code"><pre><django.db.models.fields.related.OneToOneField: customer></pre></td>
4344 </tr>
4345
4346 <tr>
4347 <td>fields</td>
4348 <td class="code"><pre>[<django.db.models.fields.DateTimeField: created_at>,
4349 <django.db.models.fields.DateTimeField: updated_at>,
4350 <jsonfield.fields.JSONField: extra>,
4351 <shop.money.fields.MoneyField: service_charge>,
4352 <shop.money.fields.MoneyField: delivery_charge>,
4353 <django.db.models.fields.related.OneToOneField: customer>]</pre></td>
4354 </tr>
4355
4356 <tr>
4357 <td>self</td>
4358 <td class="code"><pre><Cart: None></pre></td>
4359 </tr>
4360
4361 <tr>
4362 <td>force_update</td>
4363 <td class="code"><pre>False</pre></td>
4364 </tr>
4365
4366 <tr>
4367 <td>raw</td>
4368 <td class="code"><pre>False</pre></td>
4369 </tr>
4370
4371 <tr>
4372 <td>meta</td>
4373 <td class="code"><pre><Options for Cart></pre></td>
4374 </tr>
4375
4376 <tr>
4377 <td>update_pk</td>
4378 <td class="code"><pre>True</pre></td>
4379 </tr>
4380
4381 <tr>
4382 <td>pk_val</td>
4383 <td class="code"><pre>None</pre></td>
4384 </tr>
4385
4386 <tr>
4387 <td>pk_set</td>
4388 <td class="code"><pre>False</pre></td>
4389 </tr>
4390
4391 <tr>
4392 <td>using</td>
4393 <td class="code"><pre>'default'</pre></td>
4394 </tr>
4395
4396 <tr>
4397 <td>force_insert</td>
4398 <td class="code"><pre>True</pre></td>
4399 </tr>
4400
4401 <tr>
4402 <td>cls</td>
4403 <td class="code"><pre><class 'jumla_shop.models.cart.Cart'></pre></td>
4404 </tr>
4405
4406 </tbody>
4407 </table>
4408
4409 </li>
4410
4411
4412 <li class="frame django">
4413 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/base.py</code> in <code>_do_insert</code>
4414
4415
4416 <div class="context" id="c4396691752">
4417
4418 <ol start="852" class="pre-context" id="pre4396691752">
4419
4420 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre></pre></li>
4421
4422 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> def _do_insert(self, manager, using, fields, update_pk, raw):</pre></li>
4423
4424 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> """</pre></li>
4425
4426 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> Do an INSERT. If update_pk is defined then this method should return</pre></li>
4427
4428 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> the new pk for the model.</pre></li>
4429
4430 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> """</pre></li>
4431
4432 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> return manager._insert([self], fields=fields, return_id=update_pk,</pre></li>
4433
4434 </ol>
4435
4436 <ol start="859" class="context-line">
4437 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre>
4438 using=using, raw=raw)</pre> <span>...</span></li></ol>
4439
4440 <ol start='860' class="post-context" id="post4396691752">
4441
4442 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre></pre></li>
4443
4444 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> def delete(self, using=None, keep_parents=False):</pre></li>
4445
4446 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> using = using or router.db_for_write(self.__class__, instance=self)</pre></li>
4447
4448 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> assert self._get_pk_val() is not None, (</pre></li>
4449
4450 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> "%s object can't be deleted because its %s attribute is set to None." %</pre></li>
4451
4452 <li onclick="toggle('pre4396691752', 'post4396691752')"><pre> (self._meta.object_name, self._meta.pk.attname)</pre></li>
4453
4454 </ol>
4455
4456 </div>
4457
4458
4459
4460 <div class="commands">
4461
4462 <a href="#" onclick="return varToggle(this, '4396691752')"><span>▶</span> Local vars</a>
4463
4464 </div>
4465 <table class="vars" id="v4396691752">
4466 <thead>
4467 <tr>
4468 <th>Variable</th>
4469 <th>Value</th>
4470 </tr>
4471 </thead>
4472 <tbody>
4473
4474 <tr>
4475 <td>fields</td>
4476 <td class="code"><pre>[<django.db.models.fields.DateTimeField: created_at>,
4477 <django.db.models.fields.DateTimeField: updated_at>,
4478 <jsonfield.fields.JSONField: extra>,
4479 <shop.money.fields.MoneyField: service_charge>,
4480 <shop.money.fields.MoneyField: delivery_charge>,
4481 <django.db.models.fields.related.OneToOneField: customer>]</pre></td>
4482 </tr>
4483
4484 <tr>
4485 <td>self</td>
4486 <td class="code"><pre><Cart: None></pre></td>
4487 </tr>
4488
4489 <tr>
4490 <td>raw</td>
4491 <td class="code"><pre>False</pre></td>
4492 </tr>
4493
4494 <tr>
4495 <td>manager</td>
4496 <td class="code"><pre><django.db.models.manager.Manager object at 0x1048efe90></pre></td>
4497 </tr>
4498
4499 <tr>
4500 <td>using</td>
4501 <td class="code"><pre>'default'</pre></td>
4502 </tr>
4503
4504 <tr>
4505 <td>update_pk</td>
4506 <td class="code"><pre>True</pre></td>
4507 </tr>
4508
4509 </tbody>
4510 </table>
4511
4512 </li>
4513
4514
4515 <li class="frame django">
4516 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/manager.py</code> in <code>manager_method</code>
4517
4518
4519 <div class="context" id="c4399385920">
4520
4521 <ol start="115" class="pre-context" id="pre4399385920">
4522
4523 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> def check(self, **kwargs):</pre></li>
4524
4525 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> return []</pre></li>
4526
4527 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre></pre></li>
4528
4529 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> @classmethod</pre></li>
4530
4531 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> def _get_queryset_methods(cls, queryset_class):</pre></li>
4532
4533 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> def create_method(name, method):</pre></li>
4534
4535 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> def manager_method(self, *args, **kwargs):</pre></li>
4536
4537 </ol>
4538
4539 <ol start="122" class="context-line">
4540 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre>
4541 return getattr(self.get_queryset(), name)(*args, **kwargs)</pre> <span>...</span></li></ol>
4542
4543 <ol start='123' class="post-context" id="post4399385920">
4544
4545 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> manager_method.__name__ = method.__name__</pre></li>
4546
4547 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> manager_method.__doc__ = method.__doc__</pre></li>
4548
4549 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> return manager_method</pre></li>
4550
4551 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre></pre></li>
4552
4553 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> new_methods = {}</pre></li>
4554
4555 <li onclick="toggle('pre4399385920', 'post4399385920')"><pre> # Refs http://bugs.python.org/issue1785.</pre></li>
4556
4557 </ol>
4558
4559 </div>
4560
4561
4562
4563 <div class="commands">
4564
4565 <a href="#" onclick="return varToggle(this, '4399385920')"><span>▶</span> Local vars</a>
4566
4567 </div>
4568 <table class="vars" id="v4399385920">
4569 <thead>
4570 <tr>
4571 <th>Variable</th>
4572 <th>Value</th>
4573 </tr>
4574 </thead>
4575 <tbody>
4576
4577 <tr>
4578 <td>self</td>
4579 <td class="code"><pre><django.db.models.manager.Manager object at 0x1048efe90></pre></td>
4580 </tr>
4581
4582 <tr>
4583 <td>args</td>
4584 <td class="code"><pre>([<Cart: None>],)</pre></td>
4585 </tr>
4586
4587 <tr>
4588 <td>name</td>
4589 <td class="code"><pre>'_insert'</pre></td>
4590 </tr>
4591
4592 <tr>
4593 <td>kwargs</td>
4594 <td class="code"><pre>{'fields': [<django.db.models.fields.DateTimeField: created_at>,
4595 <django.db.models.fields.DateTimeField: updated_at>,
4596 <jsonfield.fields.JSONField: extra>,
4597 <shop.money.fields.MoneyField: service_charge>,
4598 <shop.money.fields.MoneyField: delivery_charge>,
4599 <django.db.models.fields.related.OneToOneField: customer>],
4600 'raw': False,
4601 'return_id': True,
4602 'using': 'default'}</pre></td>
4603 </tr>
4604
4605 </tbody>
4606 </table>
4607
4608 </li>
4609
4610
4611 <li class="frame django">
4612 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/query.py</code> in <code>_insert</code>
4613
4614
4615 <div class="context" id="c4403422560">
4616
4617 <ol start="1032" class="pre-context" id="pre4403422560">
4618
4619 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> the InsertQuery class and is how Model.save() is implemented.</pre></li>
4620
4621 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> """</pre></li>
4622
4623 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> self._for_write = True</pre></li>
4624
4625 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> if using is None:</pre></li>
4626
4627 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> using = self.db</pre></li>
4628
4629 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> query = sql.InsertQuery(self.model)</pre></li>
4630
4631 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> query.insert_values(fields, objs, raw=raw)</pre></li>
4632
4633 </ol>
4634
4635 <ol start="1039" class="context-line">
4636 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre>
4637 return query.get_compiler(using=using).execute_sql(return_id)</pre> <span>...</span></li></ol>
4638
4639 <ol start='1040' class="post-context" id="post4403422560">
4640
4641 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> _insert.alters_data = True</pre></li>
4642
4643 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> _insert.queryset_only = False</pre></li>
4644
4645 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre></pre></li>
4646
4647 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> def _batched_insert(self, objs, fields, batch_size):</pre></li>
4648
4649 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> """</pre></li>
4650
4651 <li onclick="toggle('pre4403422560', 'post4403422560')"><pre> A little helper method for bulk_insert to insert the bulk one batch</pre></li>
4652
4653 </ol>
4654
4655 </div>
4656
4657
4658
4659 <div class="commands">
4660
4661 <a href="#" onclick="return varToggle(this, '4403422560')"><span>▶</span> Local vars</a>
4662
4663 </div>
4664 <table class="vars" id="v4403422560">
4665 <thead>
4666 <tr>
4667 <th>Variable</th>
4668 <th>Value</th>
4669 </tr>
4670 </thead>
4671 <tbody>
4672
4673 <tr>
4674 <td>objs</td>
4675 <td class="code"><pre>[<Cart: None>]</pre></td>
4676 </tr>
4677
4678 <tr>
4679 <td>fields</td>
4680 <td class="code"><pre>[<django.db.models.fields.DateTimeField: created_at>,
4681 <django.db.models.fields.DateTimeField: updated_at>,
4682 <jsonfield.fields.JSONField: extra>,
4683 <shop.money.fields.MoneyField: service_charge>,
4684 <shop.money.fields.MoneyField: delivery_charge>,
4685 <django.db.models.fields.related.OneToOneField: customer>]</pre></td>
4686 </tr>
4687
4688 <tr>
4689 <td>self</td>
4690 <td class="code"><pre>[<Cart: 7>, <Cart: 6>]</pre></td>
4691 </tr>
4692
4693 <tr>
4694 <td>return_id</td>
4695 <td class="code"><pre>True</pre></td>
4696 </tr>
4697
4698 <tr>
4699 <td>raw</td>
4700 <td class="code"><pre>False</pre></td>
4701 </tr>
4702
4703 <tr>
4704 <td>query</td>
4705 <td class="code"><pre><django.db.models.sql.subqueries.InsertQuery object at 0x1063bed90></pre></td>
4706 </tr>
4707
4708 <tr>
4709 <td>using</td>
4710 <td class="code"><pre>'default'</pre></td>
4711 </tr>
4712
4713 </tbody>
4714 </table>
4715
4716 </li>
4717
4718
4719 <li class="frame django">
4720 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/sql/compiler.py</code> in <code>execute_sql</code>
4721
4722
4723 <div class="context" id="c4401222648">
4724
4725 <ol start="1052" class="pre-context" id="pre4401222648">
4726
4727 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> for p, vals in zip(placeholder_rows, param_rows)</pre></li>
4728
4729 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> ]</pre></li>
4730
4731 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre></pre></li>
4732
4733 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> def execute_sql(self, return_id=False):</pre></li>
4734
4735 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> assert not (return_id and len(self.query.objs) != 1)</pre></li>
4736
4737 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> self.return_id = return_id</pre></li>
4738
4739 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> with self.connection.cursor() as cursor:</pre></li>
4740
4741 </ol>
4742
4743 <ol start="1059" class="context-line">
4744 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre>
4745 for sql, params in self.as_sql():</pre> <span>...</span></li></ol>
4746
4747 <ol start='1060' class="post-context" id="post4401222648">
4748
4749 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> cursor.execute(sql, params)</pre></li>
4750
4751 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> if not (return_id and cursor):</pre></li>
4752
4753 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> return</pre></li>
4754
4755 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> if self.connection.features.can_return_id_from_insert:</pre></li>
4756
4757 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> return self.connection.ops.fetch_returned_insert_id(cursor)</pre></li>
4758
4759 <li onclick="toggle('pre4401222648', 'post4401222648')"><pre> return self.connection.ops.last_insert_id(cursor,</pre></li>
4760
4761 </ol>
4762
4763 </div>
4764
4765
4766
4767 <div class="commands">
4768
4769 <a href="#" onclick="return varToggle(this, '4401222648')"><span>▶</span> Local vars</a>
4770
4771 </div>
4772 <table class="vars" id="v4401222648">
4773 <thead>
4774 <tr>
4775 <th>Variable</th>
4776 <th>Value</th>
4777 </tr>
4778 </thead>
4779 <tbody>
4780
4781 <tr>
4782 <td>cursor</td>
4783 <td class="code"><pre><django.db.backends.utils.CursorDebugWrapper object at 0x106148c50></pre></td>
4784 </tr>
4785
4786 <tr>
4787 <td>self</td>
4788 <td class="code"><pre><django.db.backends.mysql.compiler.SQLInsertCompiler object at 0x1057cee50></pre></td>
4789 </tr>
4790
4791 <tr>
4792 <td>return_id</td>
4793 <td class="code"><pre>True</pre></td>
4794 </tr>
4795
4796 </tbody>
4797 </table>
4798
4799 </li>
4800
4801
4802 <li class="frame django">
4803 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/sql/compiler.py</code> in <code>as_sql</code>
4804
4805
4806 <div class="context" id="c4403950368">
4807
4808 <ol start="1012" class="pre-context" id="pre4403950368">
4809
4810 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> has_fields = bool(self.query.fields)</pre></li>
4811
4812 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> fields = self.query.fields if has_fields else [opts.pk]</pre></li>
4813
4814 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> result.append('(%s)' % ', '.join(qn(f.column) for f in fields))</pre></li>
4815
4816 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre></pre></li>
4817
4818 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> if has_fields:</pre></li>
4819
4820 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> value_rows = [</pre></li>
4821
4822 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> [self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]</pre></li>
4823
4824 </ol>
4825
4826 <ol start="1019" class="context-line">
4827 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre>
4828 for obj in self.query.objs</pre> <span>...</span></li></ol>
4829
4830 <ol start='1020' class="post-context" id="post4403950368">
4831
4832 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> ]</pre></li>
4833
4834 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> else:</pre></li>
4835
4836 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> # An empty object.</pre></li>
4837
4838 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> value_rows = [[self.connection.ops.pk_default_value()] for _ in self.query.objs]</pre></li>
4839
4840 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre> fields = [None]</pre></li>
4841
4842 <li onclick="toggle('pre4403950368', 'post4403950368')"><pre></pre></li>
4843
4844 </ol>
4845
4846 </div>
4847
4848
4849
4850 <div class="commands">
4851
4852 <a href="#" onclick="return varToggle(this, '4403950368')"><span>▶</span> Local vars</a>
4853
4854 </div>
4855 <table class="vars" id="v4403950368">
4856 <thead>
4857 <tr>
4858 <th>Variable</th>
4859 <th>Value</th>
4860 </tr>
4861 </thead>
4862 <tbody>
4863
4864 <tr>
4865 <td>obj</td>
4866 <td class="code"><pre><Cart: None></pre></td>
4867 </tr>
4868
4869 <tr>
4870 <td>fields</td>
4871 <td class="code"><pre>[<django.db.models.fields.DateTimeField: created_at>,
4872 <django.db.models.fields.DateTimeField: updated_at>,
4873 <jsonfield.fields.JSONField: extra>,
4874 <shop.money.fields.MoneyField: service_charge>,
4875 <shop.money.fields.MoneyField: delivery_charge>,
4876 <django.db.models.fields.related.OneToOneField: customer>]</pre></td>
4877 </tr>
4878
4879 <tr>
4880 <td>self</td>
4881 <td class="code"><pre><django.db.backends.mysql.compiler.SQLInsertCompiler object at 0x1057cee50></pre></td>
4882 </tr>
4883
4884 <tr>
4885 <td>field</td>
4886 <td class="code"><pre><shop.money.fields.MoneyField: service_charge></pre></td>
4887 </tr>
4888
4889 <tr>
4890 <td>result</td>
4891 <td class="code"><pre>[u'INSERT INTO `jumla_shop_cart`',
4892 u'(`created_at`, `updated_at`, `extra`, `service_charge`, `delivery_charge`, `customer_id`)']</pre></td>
4893 </tr>
4894
4895 <tr>
4896 <td>opts</td>
4897 <td class="code"><pre><Options for Cart></pre></td>
4898 </tr>
4899
4900 <tr>
4901 <td>has_fields</td>
4902 <td class="code"><pre>True</pre></td>
4903 </tr>
4904
4905 <tr>
4906 <td>qn</td>
4907 <td class="code"><pre><bound method DatabaseOperations.quote_name of <django.db.backends.mysql.operations.DatabaseOperations object at 0x106203610>></pre></td>
4908 </tr>
4909
4910 </tbody>
4911 </table>
4912
4913 </li>
4914
4915
4916 <li class="frame django">
4917 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/sql/compiler.py</code> in <code>prepare_value</code>
4918
4919
4920 <div class="context" id="c4396675224">
4921
4922 <ol start="951" class="pre-context" id="pre4396675224">
4923
4924 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> raise ValueError(</pre></li>
4925
4926 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> 'Failed to insert expression "%s" on %s. F() expressions '</pre></li>
4927
4928 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> 'can only be used to update, not to insert.' % (value, field)</pre></li>
4929
4930 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> )</pre></li>
4931
4932 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> if value.contains_aggregate:</pre></li>
4933
4934 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> raise FieldError("Aggregate functions are not allowed in this query")</pre></li>
4935
4936 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> else:</pre></li>
4937
4938 </ol>
4939
4940 <ol start="958" class="context-line">
4941 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre>
4942 value = field.get_db_prep_save(value, connection=self.connection)</pre> <span>...</span></li></ol>
4943
4944 <ol start='959' class="post-context" id="post4396675224">
4945
4946 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> return value</pre></li>
4947
4948 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre></pre></li>
4949
4950 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> def pre_save_val(self, field, obj):</pre></li>
4951
4952 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> """</pre></li>
4953
4954 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> Get the given field's value off the given obj. pre_save() is used for</pre></li>
4955
4956 <li onclick="toggle('pre4396675224', 'post4396675224')"><pre> things like auto_now on DateTimeField. Skip it if this is a raw query.</pre></li>
4957
4958 </ol>
4959
4960 </div>
4961
4962
4963
4964 <div class="commands">
4965
4966 <a href="#" onclick="return varToggle(this, '4396675224')"><span>▶</span> Local vars</a>
4967
4968 </div>
4969 <table class="vars" id="v4396675224">
4970 <thead>
4971 <tr>
4972 <th>Variable</th>
4973 <th>Value</th>
4974 </tr>
4975 </thead>
4976 <tbody>
4977
4978 <tr>
4979 <td>field</td>
4980 <td class="code"><pre><shop.money.fields.MoneyField: service_charge></pre></td>
4981 </tr>
4982
4983 <tr>
4984 <td>self</td>
4985 <td class="code"><pre><django.db.backends.mysql.compiler.SQLInsertCompiler object at 0x1057cee50></pre></td>
4986 </tr>
4987
4988 <tr>
4989 <td>value</td>
4990 <td class="code"><pre>0</pre></td>
4991 </tr>
4992
4993 </tbody>
4994 </table>
4995
4996 </li>
4997
4998
4999 <li class="frame user">
5000 <code>/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/shop/money/fields.py</code> in <code>get_db_prep_save</code>
5001
5002
5003 <div class="context" id="c4394681048">
5004
5005 <ol start="99" class="pre-context" id="pre4394681048">
5006
5007 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> if value is None:</pre></li>
5008
5009 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> return</pre></li>
5010
5011 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> if isinstance(value, float):</pre></li>
5012
5013 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> value = str(value)</pre></li>
5014
5015 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> return self.Money(value)</pre></li>
5016
5017 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre></pre></li>
5018
5019 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> def get_db_prep_save(self, value, connection):</pre></li>
5020
5021 </ol>
5022
5023 <ol start="106" class="context-line">
5024 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre>
5025 if value.is_nan():</pre> <span>...</span></li></ol>
5026
5027 <ol start='107' class="post-context" id="post4394681048">
5028
5029 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> return None</pre></li>
5030
5031 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> return super(MoneyField, self).get_db_prep_save(value, connection)</pre></li>
5032
5033 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre></pre></li>
5034
5035 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> def get_prep_lookup(self, lookup_type, value):</pre></li>
5036
5037 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> if isinstance(value, AbstractMoney):</pre></li>
5038
5039 <li onclick="toggle('pre4394681048', 'post4394681048')"><pre> if value.get_currency() != self.Money.get_currency():</pre></li>
5040
5041 </ol>
5042
5043 </div>
5044
5045
5046
5047 <div class="commands">
5048
5049 <a href="#" onclick="return varToggle(this, '4394681048')"><span>▶</span> Local vars</a>
5050
5051 </div>
5052 <table class="vars" id="v4394681048">
5053 <thead>
5054 <tr>
5055 <th>Variable</th>
5056 <th>Value</th>
5057 </tr>
5058 </thead>
5059 <tbody>
5060
5061 <tr>
5062 <td>connection</td>
5063 <td class="code"><pre><django.db.backends.mysql.base.DatabaseWrapper object at 0x1062031d0></pre></td>
5064 </tr>
5065
5066 <tr>
5067 <td>self</td>
5068 <td class="code"><pre><shop.money.fields.MoneyField: service_charge></pre></td>
5069 </tr>
5070
5071 <tr>
5072 <td>value</td>
5073 <td class="code"><pre>0</pre></td>
5074 </tr>
5075
5076 </tbody>
5077 </table>
5078
5079 </li>
5080
5081 </ul>
5082 </div>
5083
5084 <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
5085
5086 <div id="pastebinTraceback" class="pastebin">
5087 <input type="hidden" name="language" value="PythonConsole">
5088 <input type="hidden" name="title"
5089 value="AttributeError at /en/">
5090 <input type="hidden" name="source" value="Django Dpaste Agent">
5091 <input type="hidden" name="poster" value="Django">
5092 <textarea name="content" id="traceback_area" cols="140" rows="25">
5093Environment:
5094
5095
5096Request Method: GET
5097Request URL: http://127.0.0.1:8015/en/
5098
5099Django Version: 1.9.7
5100Python Version: 2.7.10
5101Installed Applications:
5102[u'modeltranslation',
5103 u'base.account',
5104 u'djangocms_admin_style',
5105 u'django.contrib.admin',
5106 u'django.contrib.auth',
5107 u'polymorphic',
5108 u'django.contrib.contenttypes',
5109 u'django.contrib.sessions',
5110 u'django.contrib.messages',
5111 u'django.contrib.staticfiles',
5112 u'django.contrib.sites',
5113 u'reversion',
5114 u'cmsplugin_cascade',
5115 u'cmsplugin_cascade.clipboard',
5116 u'cmsplugin_cascade.extra_fields',
5117 u'cmsplugin_cascade.sharable',
5118 u'cmsplugin_cascade.segmentation',
5119 u'djangocms_text_ckeditor',
5120 u'cmsplugin_filer_file',
5121 u'cmsplugin_filer_folder',
5122 u'cmsplugin_filer_image',
5123 u'cmsplugin_filer_teaser',
5124 u'cmsplugin_filer_video',
5125 u'cms',
5126 u'treebeard',
5127 u'menus',
5128 u'sekizai',
5129 u'rest_framework',
5130 u'rest_framework.authtoken',
5131 u'rest_auth',
5132 u'shop',
5133 u'easy_thumbnails',
5134 u'easy_thumbnails.optimize',
5135 u'filer',
5136 u'post_office',
5137 u'adminsortable2',
5138 u'nocaptcha_recaptcha',
5139 u'django_extensions',
5140 u'crispy_forms',
5141 u'el_pagination',
5142 u'django_filters',
5143 u'solo',
5144 u'djng',
5145 u'newsletter',
5146 u'ckeditor',
5147 u'ckeditor_uploader',
5148 u'nested_inline',
5149 u'fsm_admin',
5150 u'jumla_shop',
5151 u'base.account_activation',
5152 u'base.address',
5153 u'base.contact_us',
5154 u'base.cms_slider',
5155 u'base.common',
5156 u'base.cms_newsletter',
5157 u'base.forgot_password',
5158 u'base.gallery',
5159 u'base.homepage',
5160 u'base.social_network',
5161 u'base.footer_link',
5162 u'base.search',
5163 u'vendor',
5164 u'discussion',
5165 u'service_charge',
5166 u'campaign',
5167 u'reorder',
5168 'debug_toolbar']
5169Installed Middleware:
5170[u'djng.middleware.AngularUrlMiddleware',
5171 u'cms.middleware.utils.ApphookReloadMiddleware',
5172 u'django.middleware.security.SecurityMiddleware',
5173 u'django.contrib.sessions.middleware.SessionMiddleware',
5174 u'django.middleware.locale.LocaleMiddleware',
5175 u'django.middleware.common.CommonMiddleware',
5176 u'django.middleware.csrf.CsrfViewMiddleware',
5177 u'django.contrib.auth.middleware.AuthenticationMiddleware',
5178 u'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
5179 u'vendor.middleware.VendorMiddleware',
5180 u'django.contrib.messages.middleware.MessageMiddleware',
5181 u'django.middleware.clickjacking.XFrameOptionsMiddleware',
5182 u'cms.middleware.user.CurrentUserMiddleware',
5183 u'cms.middleware.page.CurrentPageMiddleware',
5184 u'cms.middleware.toolbar.ToolbarMiddleware',
5185 u'cms.middleware.toolbar.ToolbarMiddleware',
5186 u'cms.middleware.language.LanguageCookieMiddleware',
5187 'debug_toolbar.middleware.DebugToolbarMiddleware']
5188
5189
5190Template error:
5191In template /Users/dacianpopute/dev/myjumla/myjumla/templates/homepage/index.html, error at line 16
5192 'int' object has no attribute 'is_nan' 6 : {% static_placeholder 'main_banner' %}
5193 7 :
5194 8 : <section class="latest-products mobile">
5195 9 : <h1>{% trans 'Latest added products' %} {% static_placeholder 'view_products_link' %}</h1>
5196 10 : <div class="row">
5197 11 : {% for product in products %}
5198 12 : <div class="col-sm-4 col-xs-6">
5199 13 : <div class="pro-item">
5200 14 : <div class="image">
5201 15 : {% if product.image %}
5202 16 : {% thumbnail product.ima ge 370x180 upsc ale crop="smart" as thumb %}
5203 17 : <img src="{{ thumb.url }}">
5204 18 : {% else %}
5205 19 : <img src="{% static 'images/no-thumbnail.jpg' %}">
5206 20 : {% endif %}
5207 21 : </div>
5208 22 : <a href="{{ product.get_absolute_url }}" class="title">{{ product.product_name }}</a>
5209 23 : <div class="details">
5210 24 : {% if product.is_promotional %}
5211 25 : <div class="price red">{{ product.promotional_price }} {% trans 'KD' %} / {{ product.unit_type.name }}
5212 26 : <span class="discount">{{ product.unit_price }} {% trans 'KD' %} / {{ product.unit_type.name }}</span>
5213
5214
5215Traceback:
5216
5217File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
5218 174. response = self.process_exception_by_middleware(e, request)
5219
5220File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
5221 172. response = response.render()
5222
5223File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/response.py" in render
5224 160. self.content = self.rendered_content
5225
5226File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/response.py" in rendered_content
5227 137. content = template.render(context, self._request)
5228
5229File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/backends/django.py" in render
5230 95. return self.template.render(context)
5231
5232File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render
5233 206. return self._render(context)
5234
5235File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
5236 92. return self.nodelist.render(context)
5237
5238File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render
5239 992. bit = node.render_annotated(context)
5240
5241File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render_annotated
5242 959. return self.render(context)
5243
5244File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/loader_tags.py" in render
5245 173. return compiled_parent._render(context)
5246
5247File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
5248 92. return self.nodelist.render(context)
5249
5250File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render
5251 992. bit = node.render_annotated(context)
5252
5253File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render_annotated
5254 959. return self.render(context)
5255
5256File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/classytags/core.py" in render
5257 146. return self.render_tag(context, **kwargs)
5258
5259File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py" in render_tag
5260 83. rendered_contents = nodelist.render(context)
5261
5262File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render
5263 992. bit = node.render_annotated(context)
5264
5265File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render_annotated
5266 959. return self.render(context)
5267
5268File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/classytags/core.py" in render
5269 146. return self.render_tag(context, **kwargs)
5270
5271File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/cms/templatetags/cms_tags.py" in render_tag
5272 631. rendered_contents = nodelist.render(context)
5273
5274File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render
5275 992. bit = node.render_annotated(context)
5276
5277File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render_annotated
5278 959. return self.render(context)
5279
5280File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/loader_tags.py" in render
5281 209. return template.render(context)
5282
5283File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render
5284 208. return self._render(context)
5285
5286File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
5287 92. return self.nodelist.render(context)
5288
5289File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render
5290 992. bit = node.render_annotated(context)
5291
5292File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render_annotated
5293 959. return self.render(context)
5294
5295File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/defaulttags.py" in render
5296 326. return nodelist.render(context)
5297
5298File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render
5299 992. bit = node.render_annotated(context)
5300
5301File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/template/base.py" in render_annotated
5302 959. return self.render(context)
5303
5304File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/classytags/core.py" in render
5305 146. return self.render_tag(context, **kwargs)
5306
5307File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/classytags/helpers.py" in render_tag
5308 88. flatten_context(self.get_context(context, **kwargs))
5309
5310File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/shop/templatetags/shop_tags.py" in get_context
5311 33. cart = CartModel.objects.get_from_request(request)
5312
5313File "/Users/dacianpopute/dev/myjumla/myjumla/jumla_shop/managers/cart.py" in get_from_request
5314 20. cart, temp = self.get_or_create(customer=request.entity)
5315
5316File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/manager.py" in manager_method
5317 122. return getattr(self.get_queryset(), name)(*args, **kwargs)
5318
5319File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/query.py" in get_or_create
5320 467. return self._create_object_from_params(lookup, params)
5321
5322File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/query.py" in _create_object_from_params
5323 499. obj = self.create(**params)
5324
5325File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/query.py" in create
5326 401. obj.save(force_insert=True, using=self.db)
5327
5328File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/shop/models/cart.py" in save
5329 169. super(BaseCart, self).save(*args, **kwargs)
5330
5331File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/base.py" in save
5332 708. force_update=force_update, update_fields=update_fields)
5333
5334File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/base.py" in save_base
5335 736. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
5336
5337File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/base.py" in _save_table
5338 820. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
5339
5340File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/base.py" in _do_insert
5341 859. using=using, raw=raw)
5342
5343File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/manager.py" in manager_method
5344 122. return getattr(self.get_queryset(), name)(*args, **kwargs)
5345
5346File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/query.py" in _insert
5347 1039. return query.get_compiler(using=using).execute_sql(return_id)
5348
5349File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
5350 1059. for sql, params in self.as_sql():
5351
5352File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in as_sql
5353 1019. for obj in self.query.objs
5354
5355File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in prepare_value
5356 958. value = field.get_db_prep_save(value, connection=self.connection)
5357
5358File "/Users/dacianpopute/.virtualenvs/myjumla/lib/python2.7/site-packages/shop/money/fields.py" in get_db_prep_save
5359 106. if value.is_nan():
5360
5361Exception Type: AttributeError at /en/
5362Exception Value: 'int' object has no attribute 'is_nan'
5363</textarea>
5364 <br><br>
5365 <input type="submit" value="Share this traceback on a public website">
5366 </div>
5367</form>
5368</div>
5369
5370
5371
5372<div id="requestinfo">
5373 <h2>Request information</h2>
5374
5375
5376 <h3 id="get-info">GET</h3>
5377
5378 <p>No GET data</p>
5379
5380
5381 <h3 id="post-info">POST</h3>
5382
5383 <p>No POST data</p>
5384
5385 <h3 id="files-info">FILES</h3>
5386
5387 <p>No FILES data</p>
5388
5389
5390
5391 <h3 id="cookie-info">COOKIES</h3>
5392
5393 <table class="req">
5394 <thead>
5395 <tr>
5396 <th>Variable</th>
5397 <th>Value</th>
5398 </tr>
5399 </thead>
5400 <tbody>
5401
5402 <tr>
5403 <td>__utmz</td>
5404 <td class="code"><pre>'96992031.1461141731.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)'</pre></td>
5405 </tr>
5406
5407 <tr>
5408 <td>_ga</td>
5409 <td class="code"><pre>'GA1.1.1820497997.1461141731'</pre></td>
5410 </tr>
5411
5412 <tr>
5413 <td>sessionid</td>
5414 <td class="code"><pre>'ap5ipru4ldfg1f64aoziw6wxvaak8603'</pre></td>
5415 </tr>
5416
5417 <tr>
5418 <td>csrftoken</td>
5419 <td class="code"><pre>'IcPyTqNarTuHNTr4ybB6m7JIdghq0qPS'</pre></td>
5420 </tr>
5421
5422 <tr>
5423 <td>__utma</td>
5424 <td class="code"><pre>'96992031.1820497997.1461141731.1469787801.1469793962.9'</pre></td>
5425 </tr>
5426
5427 <tr>
5428 <td>django_language</td>
5429 <td class="code"><pre>'en'</pre></td>
5430 </tr>
5431
5432 </tbody>
5433 </table>
5434
5435
5436 <h3 id="meta-info">META</h3>
5437 <table class="req">
5438 <thead>
5439 <tr>
5440 <th>Variable</th>
5441 <th>Value</th>
5442 </tr>
5443 </thead>
5444 <tbody>
5445
5446 <tr>
5447 <td>PYTHONIOENCODING</td>
5448 <td class="code"><pre>'UTF-8'</pre></td>
5449 </tr>
5450
5451 <tr>
5452 <td>wsgi.multiprocess</td>
5453 <td class="code"><pre>False</pre></td>
5454 </tr>
5455
5456 <tr>
5457 <td>RUN_MAIN</td>
5458 <td class="code"><pre>'true'</pre></td>
5459 </tr>
5460
5461 <tr>
5462 <td>HTTP_COOKIE</td>
5463 <td class="code"><pre>'__utma=96992031.1820497997.1461141731.1469787801.1469793962.9; __utmz=96992031.1461141731.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _ga=GA1.1.1820497997.1461141731; django_language=en; csrftoken=IcPyTqNarTuHNTr4ybB6m7JIdghq0qPS; sessionid=ap5ipru4ldfg1f64aoziw6wxvaak8603'</pre></td>
5464 </tr>
5465
5466 <tr>
5467 <td>PROJECT_HOME</td>
5468 <td class="code"><pre>'/Users/dacianpopute/Devel'</pre></td>
5469 </tr>
5470
5471 <tr>
5472 <td>HTTP_ACCEPT_LANGUAGE</td>
5473 <td class="code"><pre>'ro-RO,ro;q=0.8,en-US;q=0.6,en;q=0.4,ar;q=0.2'</pre></td>
5474 </tr>
5475
5476 <tr>
5477 <td>VERSIONER_PYTHON_PREFER_32_BIT</td>
5478 <td class="code"><pre>'no'</pre></td>
5479 </tr>
5480
5481 <tr>
5482 <td>SERVER_SOFTWARE</td>
5483 <td class="code"><pre>'WSGIServer/0.1 Python/2.7.10'</pre></td>
5484 </tr>
5485
5486 <tr>
5487 <td>SCRIPT_NAME</td>
5488 <td class="code"><pre>u''</pre></td>
5489 </tr>
5490
5491 <tr>
5492 <td>REQUEST_METHOD</td>
5493 <td class="code"><pre>'GET'</pre></td>
5494 </tr>
5495
5496 <tr>
5497 <td>LOGNAME</td>
5498 <td class="code"><pre>'dacianpopute'</pre></td>
5499 </tr>
5500
5501 <tr>
5502 <td>USER</td>
5503 <td class="code"><pre>'dacianpopute'</pre></td>
5504 </tr>
5505
5506 <tr>
5507 <td>HOME</td>
5508 <td class="code"><pre>'/Users/dacianpopute'</pre></td>
5509 </tr>
5510
5511 <tr>
5512 <td>QUERY_STRING</td>
5513 <td class="code"><pre>''</pre></td>
5514 </tr>
5515
5516 <tr>
5517 <td>PATH</td>
5518 <td class="code"><pre>'/usr/bin:/bin:/usr/sbin:/sbin:/Users/dacianpopute/.virtualenvs/myjumla/bin'</pre></td>
5519 </tr>
5520
5521 <tr>
5522 <td>PYTHONUNBUFFERED</td>
5523 <td class="code"><pre>'1'</pre></td>
5524 </tr>
5525
5526 <tr>
5527 <td>VIRTUALENVWRAPPER_SCRIPT</td>
5528 <td class="code"><pre>'/usr/local/bin/virtualenvwrapper.sh'</pre></td>
5529 </tr>
5530
5531 <tr>
5532 <td>LANG</td>
5533 <td class="code"><pre>'en_US.UTF-8'</pre></td>
5534 </tr>
5535
5536 <tr>
5537 <td>Apple_PubSub_Socket_Render</td>
5538 <td class="code"><pre>'/private/tmp/com.apple.launchd.ggIsjSCaLw/Render'</pre></td>
5539 </tr>
5540
5541 <tr>
5542 <td>TZ</td>
5543 <td class="code"><pre>u'Asia/Kuwait'</pre></td>
5544 </tr>
5545
5546 <tr>
5547 <td>SERVER_NAME</td>
5548 <td class="code"><pre>'1.0.0.127.in-addr.arpa'</pre></td>
5549 </tr>
5550
5551 <tr>
5552 <td>VERSIONER_PYTHON_VERSION</td>
5553 <td class="code"><pre>'2.7'</pre></td>
5554 </tr>
5555
5556 <tr>
5557 <td>SERVER_PROTOCOL</td>
5558 <td class="code"><pre>'HTTP/1.1'</pre></td>
5559 </tr>
5560
5561 <tr>
5562 <td>SECURITYSESSIONID</td>
5563 <td class="code"><pre>'186a9'</pre></td>
5564 </tr>
5565
5566 <tr>
5567 <td>XPC_FLAGS</td>
5568 <td class="code"><pre>'0x0'</pre></td>
5569 </tr>
5570
5571 <tr>
5572 <td>wsgi.url_scheme</td>
5573 <td class="code"><pre>'http'</pre></td>
5574 </tr>
5575
5576 <tr>
5577 <td>SERVER_PORT</td>
5578 <td class="code"><pre>'8015'</pre></td>
5579 </tr>
5580
5581 <tr>
5582 <td>CONTENT_LENGTH</td>
5583 <td class="code"><pre>''</pre></td>
5584 </tr>
5585
5586 <tr>
5587 <td>HTTP_CONNECTION</td>
5588 <td class="code"><pre>'keep-alive'</pre></td>
5589 </tr>
5590
5591 <tr>
5592 <td>PATH_INFO</td>
5593 <td class="code"><pre>u'/en/'</pre></td>
5594 </tr>
5595
5596 <tr>
5597 <td>WORKON_HOME</td>
5598 <td class="code"><pre>'/Users/dacianpopute/.virtualenvs'</pre></td>
5599 </tr>
5600
5601 <tr>
5602 <td>SSH_AUTH_SOCK</td>
5603 <td class="code"><pre>'/private/tmp/com.apple.launchd.72NGnTYhOZ/Listeners'</pre></td>
5604 </tr>
5605
5606 <tr>
5607 <td>PYTHONPATH</td>
5608 <td class="code"><pre>'/Users/dacianpopute/dev/myjumla/myjumla/reorder:/Users/dacianpopute/dev/myjumla/myjumla/newsletter:/Users/dacianpopute/dev/myjumla/myjumla/service_charge:/Users/dacianpopute/dev/myjumla:/Users/dacianpopute/dev/myjumla/myjumla/base:/Users/dacianpopute/dev/myjumla/myjumla/campaign:/Users/dacianpopute/dev/myjumla/myjumla/discussion:/Users/dacianpopute/dev/myjumla/myjumla/jumla_shop:/Users/dacianpopute/dev/myjumla/myjumla/utils:/Users/dacianpopute/dev/myjumla/myjumla/vendor:/Users/dacianpopute/dev/myjumla/myjumla/config'</pre></td>
5609 </tr>
5610
5611 <tr>
5612 <td>XPC_SERVICE_NAME</td>
5613 <td class="code"><pre>'com.apple.xpc.launchd.oneshot.0x10000001.pycharm'</pre></td>
5614 </tr>
5615
5616 <tr>
5617 <td>wsgi.input</td>
5618 <td class="code"><pre><socket._fileobject object at 0x105b9cad0></pre></td>
5619 </tr>
5620
5621 <tr>
5622 <td>SHELL</td>
5623 <td class="code"><pre>'/bin/bash'</pre></td>
5624 </tr>
5625
5626 <tr>
5627 <td>HTTP_HOST</td>
5628 <td class="code"><pre>'127.0.0.1:8015'</pre></td>
5629 </tr>
5630
5631 <tr>
5632 <td>wsgi.multithread</td>
5633 <td class="code"><pre>True</pre></td>
5634 </tr>
5635
5636 <tr>
5637 <td>LC_ALL</td>
5638 <td class="code"><pre>'en_US.UTF-8'</pre></td>
5639 </tr>
5640
5641 <tr>
5642 <td>TMPDIR</td>
5643 <td class="code"><pre>'/var/folders/dv/yd3my_r54p38z1mwfjc8th1m0000gn/T/'</pre></td>
5644 </tr>
5645
5646 <tr>
5647 <td>HTTP_ACCEPT</td>
5648 <td class="code"><pre>'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'</pre></td>
5649 </tr>
5650
5651 <tr>
5652 <td>VIRTUALENVWRAPPER_PROJECT_FILENAME</td>
5653 <td class="code"><pre>'.project'</pre></td>
5654 </tr>
5655
5656 <tr>
5657 <td>wsgi.file_wrapper</td>
5658 <td class="code"><pre>''</pre></td>
5659 </tr>
5660
5661 <tr>
5662 <td>wsgi.version</td>
5663 <td class="code"><pre>(1, 0)</pre></td>
5664 </tr>
5665
5666 <tr>
5667 <td>VIRTUALENVWRAPPER_HOOK_DIR</td>
5668 <td class="code"><pre>'/Users/dacianpopute/.virtualenvs'</pre></td>
5669 </tr>
5670
5671 <tr>
5672 <td>GATEWAY_INTERFACE</td>
5673 <td class="code"><pre>'CGI/1.1'</pre></td>
5674 </tr>
5675
5676 <tr>
5677 <td>wsgi.run_once</td>
5678 <td class="code"><pre>False</pre></td>
5679 </tr>
5680
5681 <tr>
5682 <td>CSRF_COOKIE</td>
5683 <td class="code"><pre>u'IcPyTqNarTuHNTr4ybB6m7JIdghq0qPS'</pre></td>
5684 </tr>
5685
5686 <tr>
5687 <td>wsgi.errors</td>
5688 <td class="code"><pre><open file '<stderr>', mode 'w' at 0x1026ad1e0></pre></td>
5689 </tr>
5690
5691 <tr>
5692 <td>REMOTE_ADDR</td>
5693 <td class="code"><pre>'127.0.0.1'</pre></td>
5694 </tr>
5695
5696 <tr>
5697 <td>HTTP_USER_AGENT</td>
5698 <td class="code"><pre>'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'</pre></td>
5699 </tr>
5700
5701 <tr>
5702 <td>PYCHARM_HOSTED</td>
5703 <td class="code"><pre>'1'</pre></td>
5704 </tr>
5705
5706 <tr>
5707 <td>__CF_USER_TEXT_ENCODING</td>
5708 <td class="code"><pre>'0x1F5:0x0:0x0'</pre></td>
5709 </tr>
5710
5711 <tr>
5712 <td>DJANGO_SETTINGS_MODULE</td>
5713 <td class="code"><pre>'myjumla.config.settings'</pre></td>
5714 </tr>
5715
5716 <tr>
5717 <td>CONTENT_TYPE</td>
5718 <td class="code"><pre>'text/plain'</pre></td>
5719 </tr>
5720
5721 <tr>
5722 <td>HTTP_UPGRADE_INSECURE_REQUESTS</td>
5723 <td class="code"><pre>'1'</pre></td>
5724 </tr>
5725
5726 <tr>
5727 <td>REMOTE_HOST</td>
5728 <td class="code"><pre>''</pre></td>
5729 </tr>
5730
5731 <tr>
5732 <td>HTTP_ACCEPT_ENCODING</td>
5733 <td class="code"><pre>'gzip, deflate, sdch'</pre></td>
5734 </tr>
5735
5736 <tr>
5737 <td>COMMAND_MODE</td>
5738 <td class="code"><pre>'unix2003'</pre></td>
5739 </tr>
5740
5741 </tbody>
5742 </table>
5743
5744
5745 <h3 id="settings-info">Settings</h3>
5746 <h4>Using settings module <code>myjumla.config.settings</code></h4>
5747 <table class="req">
5748 <thead>
5749 <tr>
5750 <th>Setting</th>
5751 <th>Value</th>
5752 </tr>
5753 </thead>
5754 <tbody>
5755
5756 <tr>
5757 <td>NORECAPTCHA_SECRET_KEY</td>
5758 <td class="code"><pre>u'********************'</pre></td>
5759 </tr>
5760
5761 <tr>
5762 <td>SECURE_BROWSER_XSS_FILTER</td>
5763 <td class="code"><pre>False</pre></td>
5764 </tr>
5765
5766 <tr>
5767 <td>THUMBNAIL_PROCESSORS</td>
5768 <td class="code"><pre>(u'easy_thumbnails.processors.colorspace',
5769 u'easy_thumbnails.processors.autocrop',
5770 u'filer.thumbnail_processors.scale_and_crop_with_subject_location',
5771 u'easy_thumbnails.processors.filters')</pre></td>
5772 </tr>
5773
5774 <tr>
5775 <td>SHOP_CART_MODIFIERS</td>
5776 <td class="code"><pre>(u'shop.modifiers.defaults.DefaultCartModifier',
5777 u'service_charge.modifiers.ServiceChargesModifier',
5778 u'service_charge.modifiers.DeliveryChargesModifier')</pre></td>
5779 </tr>
5780
5781 <tr>
5782 <td>CREDIT_CARD</td>
5783 <td class="code"><pre>1</pre></td>
5784 </tr>
5785
5786 <tr>
5787 <td>CSRF_COOKIE_SECURE</td>
5788 <td class="code"><pre>False</pre></td>
5789 </tr>
5790
5791 <tr>
5792 <td>LANGUAGE_CODE</td>
5793 <td class="code"><pre>u'en'</pre></td>
5794 </tr>
5795
5796 <tr>
5797 <td>ROOT_URLCONF</td>
5798 <td class="code"><pre>u'config.urls'</pre></td>
5799 </tr>
5800
5801 <tr>
5802 <td>MANAGERS</td>
5803 <td class="code"><pre>((u'abel', u'abel@kuwaitnet.com'), (u'dacian', u'dacian@kuwaitnet.com'))</pre></td>
5804 </tr>
5805
5806 <tr>
5807 <td>BASE_DIR</td>
5808 <td class="code"><pre>'/Users/dacianpopute/dev/myjumla/myjumla'</pre></td>
5809 </tr>
5810
5811 <tr>
5812 <td>SILENCED_SYSTEM_CHECKS</td>
5813 <td class="code"><pre>[]</pre></td>
5814 </tr>
5815
5816 <tr>
5817 <td>DEFAULT_CHARSET</td>
5818 <td class="code"><pre>'utf-8'</pre></td>
5819 </tr>
5820
5821 <tr>
5822 <td>SESSION_SERIALIZER</td>
5823 <td class="code"><pre>'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
5824 </tr>
5825
5826 <tr>
5827 <td>STATIC_ROOT</td>
5828 <td class="code"><pre>u'/Users/dacianpopute/dev/myjumla/myjumla/assets'</pre></td>
5829 </tr>
5830
5831 <tr>
5832 <td>USE_THOUSAND_SEPARATOR</td>
5833 <td class="code"><pre>False</pre></td>
5834 </tr>
5835
5836 <tr>
5837 <td>CKEDITOR_UPLOAD_PATH</td>
5838 <td class="code"><pre>u'uploads/'</pre></td>
5839 </tr>
5840
5841 <tr>
5842 <td>SELECT2_CSS</td>
5843 <td class="code"><pre>u'//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css'</pre></td>
5844 </tr>
5845
5846 <tr>
5847 <td>GATEWAYS</td>
5848 <td class="code"><pre>(0, 1)</pre></td>
5849 </tr>
5850
5851 <tr>
5852 <td>ALLOWED_HOSTS</td>
5853 <td class="code"><pre>[]</pre></td>
5854 </tr>
5855
5856 <tr>
5857 <td>MESSAGE_STORAGE</td>
5858 <td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
5859 </tr>
5860
5861 <tr>
5862 <td>EMAIL_SUBJECT_PREFIX</td>
5863 <td class="code"><pre>'[Django] '</pre></td>
5864 </tr>
5865
5866 <tr>
5867 <td>SERVER_EMAIL</td>
5868 <td class="code"><pre>'root@localhost'</pre></td>
5869 </tr>
5870
5871 <tr>
5872 <td>SECURE_HSTS_SECONDS</td>
5873 <td class="code"><pre>0</pre></td>
5874 </tr>
5875
5876 <tr>
5877 <td>STATICFILES_FINDERS</td>
5878 <td class="code"><pre>['django.contrib.staticfiles.finders.FileSystemFinder',
5879 'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
5880 </tr>
5881
5882 <tr>
5883 <td>SESSION_CACHE_ALIAS</td>
5884 <td class="code"><pre>'default'</pre></td>
5885 </tr>
5886
5887 <tr>
5888 <td>SESSION_COOKIE_DOMAIN</td>
5889 <td class="code"><pre>None</pre></td>
5890 </tr>
5891
5892 <tr>
5893 <td>SESSION_COOKIE_NAME</td>
5894 <td class="code"><pre>'sessionid'</pre></td>
5895 </tr>
5896
5897 <tr>
5898 <td>USE_X_FORWARDED_PORT</td>
5899 <td class="code"><pre>False</pre></td>
5900 </tr>
5901
5902 <tr>
5903 <td>SELECT2_JS</td>
5904 <td class="code"><pre>u'//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js'</pre></td>
5905 </tr>
5906
5907 <tr>
5908 <td>TIME_INPUT_FORMATS</td>
5909 <td class="code"><pre>['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']</pre></td>
5910 </tr>
5911
5912 <tr>
5913 <td>SECURE_REDIRECT_EXEMPT</td>
5914 <td class="code"><pre>[]</pre></td>
5915 </tr>
5916
5917 <tr>
5918 <td>DATABASES</td>
5919 <td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
5920 'AUTOCOMMIT': True,
5921 'CONN_MAX_AGE': 0,
5922 'ENGINE': 'django.db.backends.mysql',
5923 'HOST': 'localhost',
5924 'NAME': 'myjumlam_db',
5925 'OPTIONS': {},
5926 'PASSWORD': u'********************',
5927 'PORT': '3306',
5928 'TEST': {'CHARSET': None,
5929 'COLLATION': None,
5930 'MIRROR': None,
5931 'NAME': None},
5932 'TIME_ZONE': None,
5933 'USER': 'root'}}</pre></td>
5934 </tr>
5935
5936 <tr>
5937 <td>EMAIL_SSL_KEYFILE</td>
5938 <td class="code"><pre>u'********************'</pre></td>
5939 </tr>
5940
5941 <tr>
5942 <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
5943 <td class="code"><pre>None</pre></td>
5944 </tr>
5945
5946 <tr>
5947 <td>USE_TZ</td>
5948 <td class="code"><pre>True</pre></td>
5949 </tr>
5950
5951 <tr>
5952 <td>FILE_UPLOAD_PERMISSIONS</td>
5953 <td class="code"><pre>None</pre></td>
5954 </tr>
5955
5956 <tr>
5957 <td>FILE_UPLOAD_HANDLERS</td>
5958 <td class="code"><pre>['django.core.files.uploadhandler.MemoryFileUploadHandler',
5959 'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
5960 </tr>
5961
5962 <tr>
5963 <td>TEMPLATE_CONTEXT_PROCESSORS</td>
5964 <td class="code"><pre>['django.contrib.auth.context_processors.auth',
5965 'django.template.context_processors.debug',
5966 'django.template.context_processors.i18n',
5967 'django.template.context_processors.media',
5968 'django.template.context_processors.static',
5969 'django.template.context_processors.tz',
5970 'django.contrib.messages.context_processors.messages']</pre></td>
5971 </tr>
5972
5973 <tr>
5974 <td>DEFAULT_CONTENT_TYPE</td>
5975 <td class="code"><pre>'text/html'</pre></td>
5976 </tr>
5977
5978 <tr>
5979 <td>GATEWAY_NAMES</td>
5980 <td class="code"><pre>(<django.utils.functional.__proxy__ object at 0x103491550>,
5981 <django.utils.functional.__proxy__ object at 0x103491590>)</pre></td>
5982 </tr>
5983
5984 <tr>
5985 <td>APPEND_SLASH</td>
5986 <td class="code"><pre>True</pre></td>
5987 </tr>
5988
5989 <tr>
5990 <td>FIRST_DAY_OF_WEEK</td>
5991 <td class="code"><pre>0</pre></td>
5992 </tr>
5993
5994 <tr>
5995 <td>DATABASE_ROUTERS</td>
5996 <td class="code"><pre>[]</pre></td>
5997 </tr>
5998
5999 <tr>
6000 <td>DEFAULT_TABLESPACE</td>
6001 <td class="code"><pre>''</pre></td>
6002 </tr>
6003
6004 <tr>
6005 <td>LOCAL_APPS</td>
6006 <td class="code"><pre>[u'jumla_shop',
6007 u'base.account_activation',
6008 u'base.address',
6009 u'base.contact_us',
6010 u'base.cms_slider',
6011 u'base.common',
6012 u'base.cms_newsletter',
6013 u'base.forgot_password',
6014 u'base.gallery',
6015 u'base.homepage',
6016 u'base.social_network',
6017 u'base.footer_link',
6018 u'base.search',
6019 u'vendor',
6020 u'discussion',
6021 u'service_charge',
6022 u'campaign',
6023 u'reorder']</pre></td>
6024 </tr>
6025
6026 <tr>
6027 <td>MEDIA_ROOT</td>
6028 <td class="code"><pre>u'/Users/dacianpopute/dev/myjumla/myjumla/media'</pre></td>
6029 </tr>
6030
6031 <tr>
6032 <td>YEAR_MONTH_FORMAT</td>
6033 <td class="code"><pre>'F Y'</pre></td>
6034 </tr>
6035
6036 <tr>
6037 <td>STATICFILES_STORAGE</td>
6038 <td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
6039 </tr>
6040
6041 <tr>
6042 <td>CACHES</td>
6043 <td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}</pre></td>
6044 </tr>
6045
6046 <tr>
6047 <td>KNET</td>
6048 <td class="code"><pre>0</pre></td>
6049 </tr>
6050
6051 <tr>
6052 <td>SESSION_COOKIE_PATH</td>
6053 <td class="code"><pre>'/'</pre></td>
6054 </tr>
6055
6056 <tr>
6057 <td>NORECAPTCHA_SITE_KEY</td>
6058 <td class="code"><pre>u'********************'</pre></td>
6059 </tr>
6060
6061 <tr>
6062 <td>EMAIL_HOST_PASSWORD</td>
6063 <td class="code"><pre>u'********************'</pre></td>
6064 </tr>
6065
6066 <tr>
6067 <td>MESSAGE_TAGS</td>
6068 <td class="code"><pre>{10: u'warning', 20: u'info', 25: u'success', 30: u'warning', 40: u'error'}</pre></td>
6069 </tr>
6070
6071 <tr>
6072 <td>THUMBNAIL_DEBUG</td>
6073 <td class="code"><pre>False</pre></td>
6074 </tr>
6075
6076 <tr>
6077 <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
6078 <td class="code"><pre>False</pre></td>
6079 </tr>
6080
6081 <tr>
6082 <td>CMS_TEMPLATES</td>
6083 <td class="code"><pre>((u'cms/flat_page.html',
6084 <django.utils.functional.__proxy__ object at 0x1034911d0>),
6085 (u'catalogue/listing.html',
6086 <django.utils.functional.__proxy__ object at 0x103491210>))</pre></td>
6087 </tr>
6088
6089 <tr>
6090 <td>MIDDLEWARE_CLASSES</td>
6091 <td class="code"><pre>[u'djng.middleware.AngularUrlMiddleware',
6092 u'cms.middleware.utils.ApphookReloadMiddleware',
6093 u'django.middleware.security.SecurityMiddleware',
6094 u'django.contrib.sessions.middleware.SessionMiddleware',
6095 u'django.middleware.locale.LocaleMiddleware',
6096 u'django.middleware.common.CommonMiddleware',
6097 u'django.middleware.csrf.CsrfViewMiddleware',
6098 u'django.contrib.auth.middleware.AuthenticationMiddleware',
6099 u'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
6100 u'vendor.middleware.VendorMiddleware',
6101 u'django.contrib.messages.middleware.MessageMiddleware',
6102 u'django.middleware.clickjacking.XFrameOptionsMiddleware',
6103 u'cms.middleware.user.CurrentUserMiddleware',
6104 u'cms.middleware.page.CurrentPageMiddleware',
6105 u'cms.middleware.toolbar.ToolbarMiddleware',
6106 u'cms.middleware.toolbar.ToolbarMiddleware',
6107 u'cms.middleware.language.LanguageCookieMiddleware',
6108 'debug_toolbar.middleware.DebugToolbarMiddleware']</pre></td>
6109 </tr>
6110
6111 <tr>
6112 <td>NEWSLETTER_RICHTEXT_WIDGET</td>
6113 <td class="code"><pre>u'djangocms_text_ckeditor.widgets.TextEditorWidget'</pre></td>
6114 </tr>
6115
6116 <tr>
6117 <td>PAY_LATER</td>
6118 <td class="code"><pre>2</pre></td>
6119 </tr>
6120
6121 <tr>
6122 <td>CMS_LANGUAGES</td>
6123 <td class="code"><pre>{1: [{u'code': u'en',
6124 'fallbacks': [u'ar'],
6125 u'hide_untranslated': False,
6126 u'name': <django.utils.functional.__proxy__ object at 0x103491250>,
6127 u'public': True,
6128 u'redirect_on_fallback': True},
6129 {u'code': u'ar',
6130 'fallbacks': [u'en'],
6131 u'hide_untranslated': False,
6132 u'name': <django.utils.functional.__proxy__ object at 0x103491290>,
6133 u'public': True,
6134 u'redirect_on_fallback': True}],
6135 <class cms.utils.conf.VERIFIED at 0x103634d50>: True,
6136 'default': {u'hide_untranslated': False,
6137 u'public': True,
6138 u'redirect_on_fallback': True}}</pre></td>
6139 </tr>
6140
6141 <tr>
6142 <td>LANGUAGE_COOKIE_NAME</td>
6143 <td class="code"><pre>'django_language'</pre></td>
6144 </tr>
6145
6146 <tr>
6147 <td>DEFAULT_INDEX_TABLESPACE</td>
6148 <td class="code"><pre>''</pre></td>
6149 </tr>
6150
6151 <tr>
6152 <td>SERIALIZATION_MODULES</td>
6153 <td class="code"><pre>{u'json': 'shop.money.serializers'}</pre></td>
6154 </tr>
6155
6156 <tr>
6157 <td>SHOP_DEFAULT_CURRENCY</td>
6158 <td class="code"><pre>u'KWD'</pre></td>
6159 </tr>
6160
6161 <tr>
6162 <td>LOGGING_CONFIG</td>
6163 <td class="code"><pre>'logging.config.dictConfig'</pre></td>
6164 </tr>
6165
6166 <tr>
6167 <td>CMSPLUGIN_FILER_IMAGE_STYLE_CHOICES</td>
6168 <td class="code"><pre>()</pre></td>
6169 </tr>
6170
6171 <tr>
6172 <td>TEMPLATE_LOADERS</td>
6173 <td class="code"><pre>['django.template.loaders.filesystem.Loader',
6174 'django.template.loaders.app_directories.Loader']</pre></td>
6175 </tr>
6176
6177 <tr>
6178 <td>NEWSLETTER_CONFIRM_EMAIL</td>
6179 <td class="code"><pre>True</pre></td>
6180 </tr>
6181
6182 <tr>
6183 <td>WSGI_APPLICATION</td>
6184 <td class="code"><pre>u'config.wsgi.application'</pre></td>
6185 </tr>
6186
6187 <tr>
6188 <td>TEMPLATE_DEBUG</td>
6189 <td class="code"><pre>False</pre></td>
6190 </tr>
6191
6192 <tr>
6193 <td>X_FRAME_OPTIONS</td>
6194 <td class="code"><pre>'SAMEORIGIN'</pre></td>
6195 </tr>
6196
6197 <tr>
6198 <td>CSRF_COOKIE_NAME</td>
6199 <td class="code"><pre>'csrftoken'</pre></td>
6200 </tr>
6201
6202 <tr>
6203 <td>CMSPLUGIN_FILER_FOLDER_DEFAULT_STYLE</td>
6204 <td class="code"><pre>'list'</pre></td>
6205 </tr>
6206
6207 <tr>
6208 <td>FORCE_SCRIPT_NAME</td>
6209 <td class="code"><pre>None</pre></td>
6210 </tr>
6211
6212 <tr>
6213 <td>USE_X_FORWARDED_HOST</td>
6214 <td class="code"><pre>False</pre></td>
6215 </tr>
6216
6217 <tr>
6218 <td>CSRF_HEADER_NAME</td>
6219 <td class="code"><pre>'HTTP_X_CSRFTOKEN'</pre></td>
6220 </tr>
6221
6222 <tr>
6223 <td>EMAIL_TIMEOUT</td>
6224 <td class="code"><pre>None</pre></td>
6225 </tr>
6226
6227 <tr>
6228 <td>SECURE_SSL_HOST</td>
6229 <td class="code"><pre>None</pre></td>
6230 </tr>
6231
6232 <tr>
6233 <td>SIGNING_BACKEND</td>
6234 <td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td>
6235 </tr>
6236
6237 <tr>
6238 <td>SESSION_COOKIE_SECURE</td>
6239 <td class="code"><pre>False</pre></td>
6240 </tr>
6241
6242 <tr>
6243 <td>CMSPLUGIN_FILER_TEASER_STYLE_CHOICES</td>
6244 <td class="code"><pre>()</pre></td>
6245 </tr>
6246
6247 <tr>
6248 <td>CSRF_COOKIE_DOMAIN</td>
6249 <td class="code"><pre>None</pre></td>
6250 </tr>
6251
6252 <tr>
6253 <td>FILE_CHARSET</td>
6254 <td class="code"><pre>'utf-8'</pre></td>
6255 </tr>
6256
6257 <tr>
6258 <td>DEBUG</td>
6259 <td class="code"><pre>True</pre></td>
6260 </tr>
6261
6262 <tr>
6263 <td>CSRF_TRUSTED_ORIGINS</td>
6264 <td class="code"><pre>[]</pre></td>
6265 </tr>
6266
6267 <tr>
6268 <td>LANGUAGE_COOKIE_DOMAIN</td>
6269 <td class="code"><pre>None</pre></td>
6270 </tr>
6271
6272 <tr>
6273 <td>DEFAULT_FILE_STORAGE</td>
6274 <td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td>
6275 </tr>
6276
6277 <tr>
6278 <td>INSTALLED_APPS</td>
6279 <td class="code"><pre>[u'modeltranslation',
6280 u'base.account',
6281 u'djangocms_admin_style',
6282 u'django.contrib.admin',
6283 u'django.contrib.auth',
6284 u'polymorphic',
6285 u'django.contrib.contenttypes',
6286 u'django.contrib.sessions',
6287 u'django.contrib.messages',
6288 u'django.contrib.staticfiles',
6289 u'django.contrib.sites',
6290 u'reversion',
6291 u'cmsplugin_cascade',
6292 u'cmsplugin_cascade.clipboard',
6293 u'cmsplugin_cascade.extra_fields',
6294 u'cmsplugin_cascade.sharable',
6295 u'cmsplugin_cascade.segmentation',
6296 u'djangocms_text_ckeditor',
6297 u'cmsplugin_filer_file',
6298 u'cmsplugin_filer_folder',
6299 u'cmsplugin_filer_image',
6300 u'cmsplugin_filer_teaser',
6301 u'cmsplugin_filer_video',
6302 u'cms',
6303 u'treebeard',
6304 u'menus',
6305 u'sekizai',
6306 u'rest_framework',
6307 u'rest_framework.authtoken',
6308 u'rest_auth',
6309 u'shop',
6310 u'easy_thumbnails',
6311 u'easy_thumbnails.optimize',
6312 u'filer',
6313 u'post_office',
6314 u'adminsortable2',
6315 u'nocaptcha_recaptcha',
6316 u'django_extensions',
6317 u'crispy_forms',
6318 u'el_pagination',
6319 u'django_filters',
6320 u'solo',
6321 u'djng',
6322 u'newsletter',
6323 u'ckeditor',
6324 u'ckeditor_uploader',
6325 u'nested_inline',
6326 u'fsm_admin',
6327 u'jumla_shop',
6328 u'base.account_activation',
6329 u'base.address',
6330 u'base.contact_us',
6331 u'base.cms_slider',
6332 u'base.common',
6333 u'base.cms_newsletter',
6334 u'base.forgot_password',
6335 u'base.gallery',
6336 u'base.homepage',
6337 u'base.social_network',
6338 u'base.footer_link',
6339 u'base.search',
6340 u'vendor',
6341 u'discussion',
6342 u'service_charge',
6343 u'campaign',
6344 u'reorder',
6345 'debug_toolbar']</pre></td>
6346 </tr>
6347
6348 <tr>
6349 <td>LANGUAGES_BIDI</td>
6350 <td class="code"><pre>['he', 'ar', 'fa', 'ur']</pre></td>
6351 </tr>
6352
6353 <tr>
6354 <td>USE_L10N</td>
6355 <td class="code"><pre>True</pre></td>
6356 </tr>
6357
6358 <tr>
6359 <td>PAYMENT_NAMES</td>
6360 <td class="code"><pre>(<django.utils.functional.__proxy__ object at 0x103491550>,
6361 <django.utils.functional.__proxy__ object at 0x103491590>,
6362 <django.utils.functional.__proxy__ object at 0x103491610>)</pre></td>
6363 </tr>
6364
6365 <tr>
6366 <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
6367 <td class="code"><pre>False</pre></td>
6368 </tr>
6369
6370 <tr>
6371 <td>STATICFILES_DIRS</td>
6372 <td class="code"><pre>(u'/Users/dacianpopute/dev/myjumla/myjumla/static',
6373 (u'bower_components', u'/Users/dacianpopute/dev/myjumla/bower_components'))</pre></td>
6374 </tr>
6375
6376 <tr>
6377 <td>PREPEND_WWW</td>
6378 <td class="code"><pre>False</pre></td>
6379 </tr>
6380
6381 <tr>
6382 <td>SECURE_PROXY_SSL_HEADER</td>
6383 <td class="code"><pre>None</pre></td>
6384 </tr>
6385
6386 <tr>
6387 <td>LANGUAGE_COOKIE_AGE</td>
6388 <td class="code"><pre>None</pre></td>
6389 </tr>
6390
6391 <tr>
6392 <td>SESSION_COOKIE_HTTPONLY</td>
6393 <td class="code"><pre>True</pre></td>
6394 </tr>
6395
6396 <tr>
6397 <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
6398 <td class="code"><pre>False</pre></td>
6399 </tr>
6400
6401 <tr>
6402 <td>INTERNAL_IPS</td>
6403 <td class="code"><pre>[u'::1', u'127.0.0.1']</pre></td>
6404 </tr>
6405
6406 <tr>
6407 <td>MONTH_DAY_FORMAT</td>
6408 <td class="code"><pre>'F j'</pre></td>
6409 </tr>
6410
6411 <tr>
6412 <td>LOGIN_URL</td>
6413 <td class="code"><pre>u'/'</pre></td>
6414 </tr>
6415
6416 <tr>
6417 <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
6418 <td class="code"><pre>False</pre></td>
6419 </tr>
6420
6421 <tr>
6422 <td>TIME_FORMAT</td>
6423 <td class="code"><pre>'P'</pre></td>
6424 </tr>
6425
6426 <tr>
6427 <td>CMSPLUGIN_FILER_FOLDER_STYLE_CHOICES</td>
6428 <td class="code"><pre>(('list', <django.utils.functional.__proxy__ object at 0x10465c1d0>),
6429 ('slideshow', <django.utils.functional.__proxy__ object at 0x10465c210>))</pre></td>
6430 </tr>
6431
6432 <tr>
6433 <td>PAYMENT_METHODS</td>
6434 <td class="code"><pre>((0, <django.utils.functional.__proxy__ object at 0x103491550>),
6435 (1, <django.utils.functional.__proxy__ object at 0x103491590>),
6436 (2, <django.utils.functional.__proxy__ object at 0x103491610>))</pre></td>
6437 </tr>
6438
6439 <tr>
6440 <td>AUTH_USER_MODEL</td>
6441 <td class="code"><pre>u'account.User'</pre></td>
6442 </tr>
6443
6444 <tr>
6445 <td>DATE_INPUT_FORMATS</td>
6446 <td class="code"><pre>['%Y-%m-%d',
6447 '%m/%d/%Y',
6448 '%m/%d/%y',
6449 '%b %d %Y',
6450 '%b %d, %Y',
6451 '%d %b %Y',
6452 '%d %b, %Y',
6453 '%B %d %Y',
6454 '%B %d, %Y',
6455 '%d %B %Y',
6456 '%d %B, %Y']</pre></td>
6457 </tr>
6458
6459 <tr>
6460 <td>AUTHENTICATION_BACKENDS</td>
6461 <td class="code"><pre>['django.contrib.auth.backends.ModelBackend']</pre></td>
6462 </tr>
6463
6464 <tr>
6465 <td>AUTH_PASSWORD_VALIDATORS</td>
6466 <td class="code"><pre>u'********************'</pre></td>
6467 </tr>
6468
6469 <tr>
6470 <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
6471 <td class="code"><pre>u'********************'</pre></td>
6472 </tr>
6473
6474 <tr>
6475 <td>SESSION_FILE_PATH</td>
6476 <td class="code"><pre>None</pre></td>
6477 </tr>
6478
6479 <tr>
6480 <td>CACHE_MIDDLEWARE_ALIAS</td>
6481 <td class="code"><pre>'default'</pre></td>
6482 </tr>
6483
6484 <tr>
6485 <td>SESSION_SAVE_EVERY_REQUEST</td>
6486 <td class="code"><pre>False</pre></td>
6487 </tr>
6488
6489 <tr>
6490 <td>NUMBER_GROUPING</td>
6491 <td class="code"><pre>0</pre></td>
6492 </tr>
6493
6494 <tr>
6495 <td>KNPAY_URL</td>
6496 <td class="code"><pre>u'http://knpay.mykuwaitnet.net/api/user/'</pre></td>
6497 </tr>
6498
6499 <tr>
6500 <td>SESSION_ENGINE</td>
6501 <td class="code"><pre>'django.contrib.sessions.backends.db'</pre></td>
6502 </tr>
6503
6504 <tr>
6505 <td>CSRF_FAILURE_VIEW</td>
6506 <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td>
6507 </tr>
6508
6509 <tr>
6510 <td>CSRF_COOKIE_PATH</td>
6511 <td class="code"><pre>'/'</pre></td>
6512 </tr>
6513
6514 <tr>
6515 <td>CMSPLUGIN_FILER_IMAGE_DEFAULT_STYLE</td>
6516 <td class="code"><pre>''</pre></td>
6517 </tr>
6518
6519 <tr>
6520 <td>DECIMAL_SEPARATOR</td>
6521 <td class="code"><pre>'.'</pre></td>
6522 </tr>
6523
6524 <tr>
6525 <td>IGNORABLE_404_URLS</td>
6526 <td class="code"><pre>[]</pre></td>
6527 </tr>
6528
6529 <tr>
6530 <td>LOCALE_PATHS</td>
6531 <td class="code"><pre>[u'/Users/dacianpopute/dev/myjumla/myjumla/locale']</pre></td>
6532 </tr>
6533
6534 <tr>
6535 <td>PASSWORD_HASHERS</td>
6536 <td class="code"><pre>u'********************'</pre></td>
6537 </tr>
6538
6539 <tr>
6540 <td>TEMPLATE_STRING_IF_INVALID</td>
6541 <td class="code"><pre>''</pre></td>
6542 </tr>
6543
6544 <tr>
6545 <td>LOGOUT_URL</td>
6546 <td class="code"><pre>'/accounts/logout/'</pre></td>
6547 </tr>
6548
6549 <tr>
6550 <td>EMAIL_USE_TLS</td>
6551 <td class="code"><pre>False</pre></td>
6552 </tr>
6553
6554 <tr>
6555 <td>TEMPLATE_DIRS</td>
6556 <td class="code"><pre>[]</pre></td>
6557 </tr>
6558
6559 <tr>
6560 <td>LOGIN_REDIRECT_URL</td>
6561 <td class="code"><pre>u'/my-account/'</pre></td>
6562 </tr>
6563
6564 <tr>
6565 <td>FIXTURE_DIRS</td>
6566 <td class="code"><pre>[]</pre></td>
6567 </tr>
6568
6569 <tr>
6570 <td>EMAIL_HOST</td>
6571 <td class="code"><pre>'localhost'</pre></td>
6572 </tr>
6573
6574 <tr>
6575 <td>DATE_FORMAT</td>
6576 <td class="code"><pre>'N j, Y'</pre></td>
6577 </tr>
6578
6579 <tr>
6580 <td>CMSPLUGIN_CASCADE</td>
6581 <td class="code"><pre>{u'alien_plugins': [u'TextPlugin', u'TextLinkPlugin'],
6582 u'bootstrap3': {u'breakpoints': ((u'xs',
6583 (768,
6584 u'mobile-phone',
6585 <django.utils.functional.__proxy__ object at 0x1050e0f10>,
6586 750)),
6587 (u'sm',
6588 (768,
6589 u'tablet',
6590 <django.utils.functional.__proxy__ object at 0x1050f77d0>,
6591 750)),
6592 (u'md',
6593 (992,
6594 u'laptop',
6595 <django.utils.functional.__proxy__ object at 0x1050f7910>,
6596 970)),
6597 (u'lg',
6598 (1200,
6599 u'desktop',
6600 <django.utils.functional.__proxy__ object at 0x1050f7950>,
6601 1170))),
6602 u'fluid-lg-width': 1980,
6603 u'gutter': 30,
6604 u'template_basedir': u'angular-ui'},
6605 u'dependencies': {u'cascade/js/admin/imageplugin.js': (u'cascade/js/admin/linkpluginbase.js',),
6606 u'cascade/js/admin/linkplugin.js': (u'cascade/js/admin/linkpluginbase.js',),
6607 u'cascade/js/admin/linkpluginbase.js': (u'cascade/js/admin/sharableglossary.js',),
6608 u'cascade/js/admin/pictureplugin.js': (u'cascade/js/admin/linkpluginbase.js',),
6609 u'cascade/js/admin/segmentplugin.js': u'cascade/js/ring.js',
6610 u'cascade/js/admin/sharableglossary.js': u'cascade/js/ring.js',
6611 u'cascade/js/ring.js': u'cascade/js/underscore.js'},
6612 u'extra_inline_styles': {u'Colors': ((u'color', u'background-color'),
6613 <class 'cmsplugin_cascade.widgets.ColorPickerWidget'>),
6614 u'Heights': ((u'min-height',
6615 u'height',
6616 u'max-height'),
6617 <class 'cmsplugin_cascade.widgets.MultipleCascadingSizeWidget'>),
6618 u'Margins': ((u'margin-top',
6619 u'margin-right',
6620 u'margin-bottom',
6621 u'margin-left'),
6622 <class 'cmsplugin_cascade.widgets.MultipleCascadingSizeWidget'>),
6623 u'Overflow': ((u'overflow',
6624 u'overflow-x',
6625 u'overflow-y'),
6626 <class 'cmsplugin_cascade.widgets.SelectOverflowWidget'>),
6627 u'Paddings': ((u'padding-top',
6628 u'padding-right',
6629 u'padding-bottom',
6630 u'padding-left'),
6631 <class 'cmsplugin_cascade.widgets.MultipleCascadingSizeWidget'>),
6632 u'Widths': ((u'min-width', u'width', u'max-width'),
6633 <class 'cmsplugin_cascade.widgets.MultipleCascadingSizeWidget'>)},
6634 u'plugin_prefix': None,
6635 u'plugins_with_extra_fields': [u'BootstrapButtonPlugin',
6636 u'BootstrapContainerPlugin',
6637 u'BootstrapRowPlugin',
6638 u'SimpleWrapperPlugin',
6639 u'HeadingPlugin',
6640 u'HorizontalRulePlugin',
6641 u'BootstrapButtonPlugin',
6642 u'BootstrapContainerPlugin',
6643 u'BootstrapColumnPlugin',
6644 u'BootstrapRowPlugin',
6645 u'BootstrapPicturePlugin',
6646 u'HorizontalRulePlugin',
6647 u'ExtraAnnotationFormPlugin',
6648 u'SimpleWrapperPlugin'],
6649 u'plugins_with_extra_render_templates': {u'BootstrapSecondaryMenuPlugin': ((u'cascade/bootstrap3/secmenu-list-group.html',
6650 <django.utils.functional.__proxy__ object at 0x1050f7990>),
6651 (u'cascade/bootstrap3/secmenu-unstyled-list.html',
6652 <django.utils.functional.__proxy__ object at 0x1050f79d0>)),
6653 u'CustomSnippetPlugin': ((u'cascade/container.html',
6654 u'container'),
6655 (u'cascade/vendor-container.html',
6656 u'container contact-us vendor-page'),
6657 (u'cascade/breadcrumb.html',
6658 u'breadcrumb'))},
6659 u'plugins_with_sharables': {u'BootstrapButtonPlugin': (u'link',),
6660 u'BootstrapImagePlugin': (u'image-shapes',
6661 u'image-width-responsive',
6662 u'image-width-fixed',
6663 u'image-height',
6664 u'resize-options'),
6665 u'BootstrapPicturePlugin': (u'image-shapes',
6666 u'responsive-heights',
6667 u'image-size',
6668 u'resize-options'),
6669 u'TextLinkPlugin': (u'link', u'target')},
6670 u'segmentation_mixins': [(u'cmsplugin_cascade.segmentation.mixins.EmulateUserModelMixin',
6671 u'cmsplugin_cascade.segmentation.mixins.EmulateUserAdminMixin')]}</pre></td>
6672 </tr>
6673
6674 <tr>
6675 <td>CMSPLUGIN_CASCADE_PLUGINS</td>
6676 <td class="code"><pre>(u'cmsplugin_cascade.segmentation',
6677 u'cmsplugin_cascade.generic',
6678 u'cmsplugin_cascade.link',
6679 u'shop.cascade',
6680 u'cmsplugin_cascade.bootstrap3')</pre></td>
6681 </tr>
6682
6683 <tr>
6684 <td>LANGUAGE_COOKIE_PATH</td>
6685 <td class="code"><pre>'/'</pre></td>
6686 </tr>
6687
6688 <tr>
6689 <td>CMSPLUGIN_FILER_FILE_DEFAULT_STYLE</td>
6690 <td class="code"><pre>''</pre></td>
6691 </tr>
6692
6693 <tr>
6694 <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
6695 <td class="code"><pre>'django.views.debug.SafeExceptionReporterFilter'</pre></td>
6696 </tr>
6697
6698 <tr>
6699 <td>ADMINS</td>
6700 <td class="code"><pre>((u'abel', u'abel@kuwaitnet.com'), (u'dacian', u'dacian@kuwaitnet.com'))</pre></td>
6701 </tr>
6702
6703 <tr>
6704 <td>FORMAT_MODULE_PATH</td>
6705 <td class="code"><pre>None</pre></td>
6706 </tr>
6707
6708 <tr>
6709 <td>DEFAULT_FROM_EMAIL</td>
6710 <td class="code"><pre>'webmaster@localhost'</pre></td>
6711 </tr>
6712
6713 <tr>
6714 <td>THOUSAND_SEPARATOR</td>
6715 <td class="code"><pre>','</pre></td>
6716 </tr>
6717
6718 <tr>
6719 <td>REST_FRAMEWORK</td>
6720 <td class="code"><pre>{u'DEFAULT_FILTER_BACKENDS': (u'rest_framework.filters.DjangoFilterBackend',),
6721 u'DEFAULT_PAGINATION_CLASS': u'rest_framework.pagination.LimitOffsetPagination',
6722 u'DEFAULT_RENDERER_CLASSES': (u'shop.rest.money.JSONRenderer',
6723 u'rest_framework.renderers.BrowsableAPIRenderer'),
6724 u'PAGE_SIZE': 12}</pre></td>
6725 </tr>
6726
6727 <tr>
6728 <td>MEDIA_URL</td>
6729 <td class="code"><pre>u'/media/'</pre></td>
6730 </tr>
6731
6732 <tr>
6733 <td>DATETIME_FORMAT</td>
6734 <td class="code"><pre>'N j, Y, P'</pre></td>
6735 </tr>
6736
6737 <tr>
6738 <td>SHOP_APP_LABEL</td>
6739 <td class="code"><pre>u'jumla_shop'</pre></td>
6740 </tr>
6741
6742 <tr>
6743 <td>CHECKOUT_SESSION_VARS</td>
6744 <td class="code"><pre>{u'address_pk': u'SHIPPING_ADDRESS_PK'}</pre></td>
6745 </tr>
6746
6747 <tr>
6748 <td>SITE_ID</td>
6749 <td class="code"><pre>1</pre></td>
6750 </tr>
6751
6752 <tr>
6753 <td>DISALLOWED_USER_AGENTS</td>
6754 <td class="code"><pre>[]</pre></td>
6755 </tr>
6756
6757 <tr>
6758 <td>ALLOWED_INCLUDE_ROOTS</td>
6759 <td class="code"><pre>[]</pre></td>
6760 </tr>
6761
6762 <tr>
6763 <td>USE_I18N</td>
6764 <td class="code"><pre>True</pre></td>
6765 </tr>
6766
6767 <tr>
6768 <td>LOGGING</td>
6769 <td class="code"><pre>{}</pre></td>
6770 </tr>
6771
6772 <tr>
6773 <td>SHORT_DATE_FORMAT</td>
6774 <td class="code"><pre>'m/d/Y'</pre></td>
6775 </tr>
6776
6777 <tr>
6778 <td>SECRET_KEY</td>
6779 <td class="code"><pre>u'********************'</pre></td>
6780 </tr>
6781
6782 <tr>
6783 <td>THUMBNAIL_QUALITY</td>
6784 <td class="code"><pre>95</pre></td>
6785 </tr>
6786
6787 <tr>
6788 <td>TEMPLATES</td>
6789 <td class="code"><pre>[{u'APP_DIRS': True,
6790 u'BACKEND': u'django.template.backends.django.DjangoTemplates',
6791 u'DIRS': [u'/Users/dacianpopute/dev/myjumla/myjumla/templates'],
6792 u'OPTIONS': {u'context_processors': [u'django.template.context_processors.debug',
6793 u'django.template.context_processors.request',
6794 u'django.contrib.auth.context_processors.auth',
6795 u'django.template.context_processors.csrf',
6796 u'django.contrib.messages.context_processors.messages',
6797 u'sekizai.context_processors.sekizai',
6798 u'cms.context_processors.cms_settings',
6799 u'vendor.context_processors.entity',
6800 u'base.social_network.context_processors.links']}}]</pre></td>
6801 </tr>
6802
6803 <tr>
6804 <td>TEST_RUNNER</td>
6805 <td class="code"><pre>'django.test.runner.DiscoverRunner'</pre></td>
6806 </tr>
6807
6808 <tr>
6809 <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
6810 <td class="code"><pre>u'********************'</pre></td>
6811 </tr>
6812
6813 <tr>
6814 <td>SECURE_SSL_REDIRECT</td>
6815 <td class="code"><pre>False</pre></td>
6816 </tr>
6817
6818 <tr>
6819 <td>CMSPLUGIN_FILER_FILE_STYLE_CHOICES</td>
6820 <td class="code"><pre>()</pre></td>
6821 </tr>
6822
6823 <tr>
6824 <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
6825 <td class="code"><pre>2621440</pre></td>
6826 </tr>
6827
6828 <tr>
6829 <td>PAYMENTS</td>
6830 <td class="code"><pre>(0, 1, 2)</pre></td>
6831 </tr>
6832
6833 <tr>
6834 <td>EMAIL_BACKEND</td>
6835 <td class="code"><pre>'django.core.mail.backends.console.EmailBackend'</pre></td>
6836 </tr>
6837
6838 <tr>
6839 <td>SHOP_MONEY_FORMAT</td>
6840 <td class="code"><pre>u'{amount}'</pre></td>
6841 </tr>
6842
6843 <tr>
6844 <td>GATEWAY_CHOICES</td>
6845 <td class="code"><pre>((0, <django.utils.functional.__proxy__ object at 0x103491550>),
6846 (1, <django.utils.functional.__proxy__ object at 0x103491590>))</pre></td>
6847 </tr>
6848
6849 <tr>
6850 <td>EMAIL_USE_SSL</td>
6851 <td class="code"><pre>False</pre></td>
6852 </tr>
6853
6854 <tr>
6855 <td>DATETIME_INPUT_FORMATS</td>
6856 <td class="code"><pre>['%Y-%m-%d %H:%M:%S',
6857 '%Y-%m-%d %H:%M:%S.%f',
6858 '%Y-%m-%d %H:%M',
6859 '%Y-%m-%d',
6860 '%m/%d/%Y %H:%M:%S',
6861 '%m/%d/%Y %H:%M:%S.%f',
6862 '%m/%d/%Y %H:%M',
6863 '%m/%d/%Y',
6864 '%m/%d/%y %H:%M:%S',
6865 '%m/%d/%y %H:%M:%S.%f',
6866 '%m/%d/%y %H:%M',
6867 '%m/%d/%y']</pre></td>
6868 </tr>
6869
6870 <tr>
6871 <td>MIGRATION_MODULES</td>
6872 <td class="code"><pre>{u'cmsplugin_filer_file': u'cmsplugin_filer_file.migrations_django',
6873 u'cmsplugin_filer_folder': u'cmsplugin_filer_folder.migrations_django',
6874 u'cmsplugin_filer_image': u'cmsplugin_filer_image.migrations_django',
6875 u'cmsplugin_filer_teaser': u'cmsplugin_filer_teaser.migrations_django',
6876 u'cmsplugin_filer_video': u'cmsplugin_filer_video.migrations_django'}</pre></td>
6877 </tr>
6878
6879 <tr>
6880 <td>SESSION_COOKIE_AGE</td>
6881 <td class="code"><pre>1209600</pre></td>
6882 </tr>
6883
6884 <tr>
6885 <td>SETTINGS_MODULE</td>
6886 <td class="code"><pre>'myjumla.config.settings'</pre></td>
6887 </tr>
6888
6889 <tr>
6890 <td>USE_ETAGS</td>
6891 <td class="code"><pre>False</pre></td>
6892 </tr>
6893
6894 <tr>
6895 <td>LANGUAGES</td>
6896 <td class="code"><pre>[(u'en', <django.utils.functional.__proxy__ object at 0x102cb84d0>),
6897 (u'ar', <django.utils.functional.__proxy__ object at 0x103491190>)]</pre></td>
6898 </tr>
6899
6900 <tr>
6901 <td>FILE_UPLOAD_TEMP_DIR</td>
6902 <td class="code"><pre>None</pre></td>
6903 </tr>
6904
6905 <tr>
6906 <td>CSRF_COOKIE_AGE</td>
6907 <td class="code"><pre>31449600</pre></td>
6908 </tr>
6909
6910 <tr>
6911 <td>STATIC_URL</td>
6912 <td class="code"><pre>u'/static/'</pre></td>
6913 </tr>
6914
6915 <tr>
6916 <td>EMAIL_PORT</td>
6917 <td class="code"><pre>25</pre></td>
6918 </tr>
6919
6920 <tr>
6921 <td>SHOP_DECIMAL_PLACES</td>
6922 <td class="code"><pre>(3,)</pre></td>
6923 </tr>
6924
6925 <tr>
6926 <td>SHORT_DATETIME_FORMAT</td>
6927 <td class="code"><pre>'m/d/Y P'</pre></td>
6928 </tr>
6929
6930 <tr>
6931 <td>CACSCADE_WORKAREA_GLOSSARY</td>
6932 <td class="code"><pre>{u'breakpoints': [u'xs', u'sm', u'md', u'lg'],
6933 u'container_max_widths': {u'lg': 1170, u'md': 970, u'sm': 750, u'xs': 750},
6934 u'fluid': False,
6935 u'media_queries': {u'lg': [u'(min-width: 1200px)'],
6936 u'md': [u'(min-width: 992px)', u'(max-width: 1200px)'],
6937 u'sm': [u'(min-width: 768px)', u'(max-width: 992px)'],
6938 u'xs': [u'(max-width: 768px)']}}</pre></td>
6939 </tr>
6940
6941 <tr>
6942 <td>TEST_NON_SERIALIZED_APPS</td>
6943 <td class="code"><pre>[]</pre></td>
6944 </tr>
6945
6946 <tr>
6947 <td>CMS_PLACEHOLDER_CONF</td>
6948 <td class="code"><pre>{u'advertise_banner': {u'limits': {u'global': 1},
6949 u'name': <django.utils.functional.__proxy__ object at 0x103491390>,
6950 u'plugins': [u'FilerImagePlugin']},
6951 u'bottom_advertise': {u'limits': {u'global': 1},
6952 u'name': <django.utils.functional.__proxy__ object at 0x1034913d0>,
6953 u'plugins': [u'FilerImagePlugin']},
6954 u'content': {u'glossary': {u'breakpoints': [u'xs', u'sm', u'md', u'lg'],
6955 u'container_max_widths': {u'lg': 1170,
6956 u'md': 970,
6957 u'sm': 750,
6958 u'xs': 750},
6959 u'fluid': False,
6960 u'media_queries': {u'lg': [u'(min-width: 1200px)'],
6961 u'md': [u'(min-width: 992px)',
6962 u'(max-width: 1200px)'],
6963 u'sm': [u'(min-width: 768px)',
6964 u'(max-width: 992px)'],
6965 u'xs': [u'(max-width: 768px)']}},
6966 u'parent_classes': {u'BootstrapContainerPlugin': None},
6967 u'plugins': [u'BootstrapContainerPlugin'],
6968 u'text_only_plugins': [u'TextLinkPlugin']},
6969 u'footer_links': {u'name': <django.utils.functional.__proxy__ object at 0x103491450>,
6970 u'plugins': [u'FooterLinkPlugin']},
6971 u'forgot_password_link': {u'limits': {u'global': 1},
6972 u'name': <django.utils.functional.__proxy__ object at 0x103491310>,
6973 u'plugins': [u'TextLinkPlugin']},
6974 u'main_banner': {u'name': <django.utils.functional.__proxy__ object at 0x103491350>,
6975 u'plugins': [u'SliderPlugin']},
6976 u'my_account_link': {u'limits': {u'global': 1},
6977 u'name': <django.utils.functional.__proxy__ object at 0x1034912d0>,
6978 u'plugins': [u'TextLinkPlugin']},
6979 u'suppliers_link': {u'limits': {u'global': 1},
6980 u'name': <django.utils.functional.__proxy__ object at 0x1034914d0>,
6981 u'plugins': [u'TextLinkPlugin']},
6982 u'twitter_timeline': {u'limits': {u'global': 1},
6983 u'name': <django.utils.functional.__proxy__ object at 0x103491410>,
6984 u'plugins': [u'CMSTwitterEmbedPlugin']},
6985 u'view_products_link': {u'limits': {u'global': 1},
6986 u'name': <django.utils.functional.__proxy__ object at 0x103491490>,
6987 u'plugins': [u'TextLinkPlugin']}}</pre></td>
6988 </tr>
6989
6990 <tr>
6991 <td>ABSOLUTE_URL_OVERRIDES</td>
6992 <td class="code"><pre>{}</pre></td>
6993 </tr>
6994
6995 <tr>
6996 <td>DJANGO_APPS</td>
6997 <td class="code"><pre>[u'modeltranslation',
6998 u'base.account',
6999 u'djangocms_admin_style',
7000 u'django.contrib.admin',
7001 u'django.contrib.auth',
7002 u'polymorphic',
7003 u'django.contrib.contenttypes',
7004 u'django.contrib.sessions',
7005 u'django.contrib.messages',
7006 u'django.contrib.staticfiles',
7007 u'django.contrib.sites',
7008 u'reversion',
7009 u'cmsplugin_cascade',
7010 u'cmsplugin_cascade.clipboard',
7011 u'cmsplugin_cascade.extra_fields',
7012 u'cmsplugin_cascade.sharable',
7013 u'cmsplugin_cascade.segmentation',
7014 u'djangocms_text_ckeditor',
7015 u'cmsplugin_filer_file',
7016 u'cmsplugin_filer_folder',
7017 u'cmsplugin_filer_image',
7018 u'cmsplugin_filer_teaser',
7019 u'cmsplugin_filer_video',
7020 u'cms',
7021 u'treebeard',
7022 u'menus',
7023 u'sekizai',
7024 u'rest_framework',
7025 u'rest_framework.authtoken',
7026 u'rest_auth',
7027 u'shop',
7028 u'easy_thumbnails',
7029 u'easy_thumbnails.optimize',
7030 u'filer',
7031 u'post_office',
7032 u'adminsortable2',
7033 u'nocaptcha_recaptcha',
7034 u'django_extensions',
7035 u'crispy_forms',
7036 u'el_pagination',
7037 u'django_filters',
7038 u'solo',
7039 u'djng',
7040 u'newsletter',
7041 u'ckeditor',
7042 u'ckeditor_uploader',
7043 u'nested_inline',
7044 u'fsm_admin']</pre></td>
7045 </tr>
7046
7047 <tr>
7048 <td>CMSPLUGIN_FILER_TEASER_DEFAULT_STYLE</td>
7049 <td class="code"><pre>''</pre></td>
7050 </tr>
7051
7052 <tr>
7053 <td>TEXT_SAVE_IMAGE_FUNCTION</td>
7054 <td class="code"><pre>u'cmsplugin_filer_image.integrations.ckeditor.create_image_plugin'</pre></td>
7055 </tr>
7056
7057 <tr>
7058 <td>CACHE_MIDDLEWARE_SECONDS</td>
7059 <td class="code"><pre>600</pre></td>
7060 </tr>
7061
7062 <tr>
7063 <td>EMAIL_SSL_CERTFILE</td>
7064 <td class="code"><pre>None</pre></td>
7065 </tr>
7066
7067 <tr>
7068 <td>DEBUG_TOOLBAR_CONFIG</td>
7069 <td class="code"><pre>{'ENABLE_STACKTRACES': True,
7070 u'INSERT_BEFORE': u'</body>',
7071 'INTERCEPT_REDIRECTS': False,
7072 'SHOW_TEMPLATE_CONTEXT': True,
7073 'SHOW_TOOLBAR_CALLBACK': 'config.settings.develop.custom_show_toolbar'}</pre></td>
7074 </tr>
7075
7076 <tr>
7077 <td>CSRF_COOKIE_HTTPONLY</td>
7078 <td class="code"><pre>False</pre></td>
7079 </tr>
7080
7081 <tr>
7082 <td>CRISPY_TEMPLATE_PACK</td>
7083 <td class="code"><pre>u'bootstrap3'</pre></td>
7084 </tr>
7085
7086 <tr>
7087 <td>SELECT2_CACHE_PREFIX</td>
7088 <td class="code"><pre>u'select2_'</pre></td>
7089 </tr>
7090
7091 <tr>
7092 <td>TIME_ZONE</td>
7093 <td class="code"><pre>u'Asia/Kuwait'</pre></td>
7094 </tr>
7095
7096 <tr>
7097 <td>SHOP_PRODUCT_ROOT_DEPTH</td>
7098 <td class="code"><pre>2</pre></td>
7099 </tr>
7100
7101 <tr>
7102 <td>EMAIL_HOST_USER</td>
7103 <td class="code"><pre>''</pre></td>
7104 </tr>
7105
7106 <tr>
7107 <td>SELECT2_CACHE_BACKEND</td>
7108 <td class="code"><pre>u'default'</pre></td>
7109 </tr>
7110
7111 </tbody>
7112 </table>
7113
7114</div>
7115
7116 <div id="explanation">
7117 <p>
7118 You're seeing this error because you have <code>DEBUG = True</code> in your
7119 Django settings file. Change that to <code>False</code>, and Django will
7120 display a standard page generated by the handler for this status code.
7121 </p>
7122 </div>
7123
7124</body>
7125</html>