Advertisement
oquidave

django template zibs

Nov 26th, 2013
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #models.py
  3. class Service(models.Model):
  4.     service_name = models.CharField(max_length="250")
  5.     service_port = models.IntegerField(max_length="200")
  6.     box = models.ForeignKey(Box)
  7.    
  8.     class Meta:
  9.         verbose_name_plural="services"
  10.    
  11.     def __unicode__(self):
  12.         return self.service_name
  13.    
  14. #views.py
  15.  
  16. def get_box_services(request):
  17.     box_id = request.GET.get("box_id", "")
  18.     box_services = Service.objects.filter(box_id=box_id)
  19.     render_to_response("box_services.html",
  20.                        {"box_services":box_services})
  21.            
  22.  
  23. #template
  24. <table border="0" cellspacing="5" cellpadding="5">
  25.             <tr>
  26.                 <th>Service Name</th><th>Port</th><th>Status</th><th>Options</th>
  27.             </tr>
  28.             {% for box_service in box_services %}
  29.             <tr>
  30.                 <td>{{box_service.service_name}}</td>
  31.                 <td>{{box_service.service_port}}</td>
  32.                 <td>{{box_service.service_status}}</td>
  33.                
  34.                 {% ifequal box_service.service_status "service_up"  %}
  35.                     <td>Stop|Restart</td>
  36.                 {% else %}
  37.                     <td>Start</td>
  38.                 { % endifequal %}  
  39.                    
  40.             </tr>
  41.             {% endfor %}
  42.         </table>
  43.  
  44.  
  45. """
  46. Environment:
  47.  
  48.  
  49. Request Method: GET
  50. Request URL: http://127.0.0.1:8000/box_services/?box_id=1&ip=127.0.0.1
  51.  
  52. Django Version: 1.6
  53. Python Version: 2.7.3
  54. Installed Applications:
  55. ('django.contrib.admin',
  56. 'django.contrib.auth',
  57. 'django.contrib.contenttypes',
  58. 'django.contrib.sessions',
  59. 'django.contrib.messages',
  60. 'django.contrib.staticfiles',
  61. 'sysradar',
  62. 'monitor')
  63. Installed Middleware:
  64. ('django.contrib.sessions.middleware.SessionMiddleware',
  65. 'django.middleware.common.CommonMiddleware',
  66. 'django.middleware.csrf.CsrfViewMiddleware',
  67. 'django.contrib.auth.middleware.AuthenticationMiddleware',
  68. 'django.contrib.messages.middleware.MessageMiddleware',
  69. 'django.middleware.clickjacking.XFrameOptionsMiddleware')
  70.  
  71.  
  72. Template error:
  73. In template /home/oquidave/workspace/python/sysradar/monitor/templates/box_services_status.html, error at line 26
  74.   Invalid block tag: 'endfor', expected 'endifequal'
  75.    16 :                 <td>{{box_service.service_port}}</td>
  76.  
  77.  
  78.    17 :                 <td>{{box_service.service_status}}</td>
  79.  
  80.  
  81.    18 :                
  82.  
  83.  
  84.    19 :                 {% ifequal box_service.service_status "service_up"  %}
  85.  
  86.  
  87.    20 :                     <td>Stop|Restart</td>
  88.  
  89.  
  90.    21 :                 {% else %}
  91.  
  92.  
  93.    22 :                     <td>Start</td>
  94.  
  95.  
  96.    23 :                 { % endifequal %}  
  97.  
  98.  
  99.    24 :                    
  100.  
  101.  
  102.    25 :             </tr>
  103.  
  104.  
  105.    26 :              {% endfor %}
  106.  
  107.  
  108.    27 :         </table>
  109.  
  110.  
  111.   28 :
  112.  
  113.  
  114.   29 : </body>
  115.  
  116.  
  117.   30 : </html>
  118.  
  119. Traceback:
  120. File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  121.  114.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
  122. File "/home/oquidave/workspace/python/sysradar/monitor/views.py" in check_box_services
  123.  118.                                {"box_services":services})
  124. File "/usr/lib/python2.7/site-packages/django/shortcuts/__init__.py" in render_to_response
  125.  29.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
  126. File "/usr/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
  127.  162.         t = get_template(template_name)
  128. File "/usr/lib/python2.7/site-packages/django/template/loader.py" in get_template
  129.  138.     template, origin = find_template(template_name)
  130. File "/usr/lib/python2.7/site-packages/django/template/loader.py" in find_template
  131.  127.             source, display_name = loader(name, dirs)
  132. File "/usr/lib/python2.7/site-packages/django/template/loader.py" in __call__
  133.  43.         return self.load_template(template_name, template_dirs)
  134. File "/usr/lib/python2.7/site-packages/django/template/loader.py" in load_template
  135.  49.             template = get_template_from_string(source, origin, template_name)
  136. File "/usr/lib/python2.7/site-packages/django/template/loader.py" in get_template_from_string
  137.  149.     return Template(source, origin, name)
  138. File "/usr/lib/python2.7/site-packages/django/template/base.py" in __init__
  139.  125.         self.nodelist = compile_string(template_string, origin)
  140. File "/usr/lib/python2.7/site-packages/django/template/base.py" in compile_string
  141.  153.     return parser.parse()
  142. File "/usr/lib/python2.7/site-packages/django/template/base.py" in parse
  143.  278.                     compiled_result = compile_func(self, token)
  144. File "/usr/lib/python2.7/site-packages/django/template/defaulttags.py" in do_for
  145.  806.     nodelist_loop = parser.parse(('empty', 'endfor',))
  146. File "/usr/lib/python2.7/site-packages/django/template/base.py" in parse
  147.  278.                     compiled_result = compile_func(self, token)
  148. File "/usr/lib/python2.7/site-packages/django/template/defaulttags.py" in ifequal
  149.  848.     return do_ifequal(parser, token, False)
  150. File "/usr/lib/python2.7/site-packages/django/template/defaulttags.py" in do_ifequal
  151.  823.         nodelist_false = parser.parse((end_tag,))
  152. File "/usr/lib/python2.7/site-packages/django/template/base.py" in parse
  153.  276.                     self.invalid_block_tag(token, command, parse_until)
  154. File "/usr/lib/python2.7/site-packages/django/template/base.py" in invalid_block_tag
  155.  331.                 (command, get_text_list(["'%s'" % p for p in parse_until])))
  156.  
  157. Exception Type: TemplateSyntaxError at /box_services/
  158. Exception Value: Invalid block tag: 'endfor', expected 'endifequal'
  159. """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement