View difference between Paste ID: gdLJxyV9 and 4zPLj651
SHOW: | | - or go back to the newest paste.
1
2-
Error
2+
3-
Django Version:	1.6
3+
4-
Exception Type:	TypeError
4+
5-
Exception Value:	
5+
6-
cannot concatenate 'str' and 'QuerySet' objects
6+
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-
				<th>Service Name</th><th>Port</th><th>Options</th>
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-
				<td>Start|Stop|Restart</td>
38+
				{ % endifequal %}	
39
					
40
			</tr>
41
			{% endfor %}
42
		</table>
43
44-
New traceback 
44+
45
"""
46
Environment:
47
48
49
Request Method: GET
50-
Request URL: http://127.0.0.1:8000/get_box_services/?box_id=1
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.html, error at line 13
73+
In template /home/oquidave/workspace/python/sysradar/monitor/templates/box_services_status.html, error at line 26
74-
   'Service' object is not iterable
74+
   Invalid block tag: 'endfor', expected 'endifequal'
75-
   3 : <head>
75+
76
77
78-
   4 : <meta charset="UTF-8">
78+
   17 : 				<td>{{box_service.service_status}}</td>
79
80
81-
   5 : <title>Insert title here</title>
81+
   18 : 				
82
83
84-
   6 : </head>
84+
   19 : 				{% ifequal box_service.service_status "service_up"  %}
85
86
87-
   7 : <body>
87+
   20 : 					<td>Stop|Restart</td>
88
89
90-
   8 : 
90+
   21 : 				{% else %}
91
92
93-
   9 : <table border="0" cellspacing="5" cellpadding="5">
93+
   22 : 					<td>Start</td>
94
95
96-
   10 : 			<tr>
96+
   23 : 				{ % endifequal %}	
97
98
99-
   11 : 				<th>Service Name</th><th>Port</th><th>Options</th>
99+
   24 : 					
100
101
102-
   12 : 			</tr>
102+
   25 : 			</tr>
103
104
105-
   13 : 			 {% for box_service in box_services %} 
105+
   26 : 			 {% endfor %} 
106
107
108-
   14 : 			<tr>
108+
   27 : 		</table>
109
110
111-
   15 : 				<td>{{box_service.service_name}}</td>
111+
   28 : 
112
113
114
   29 : </body>
115
116
117-
   17 : 				<td>Start|Stop|Restart</td>
117+
   30 : </html>
118
119
Traceback:
120-
   18 : 			</tr>
120+
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-
   19 : 			{% endfor %}
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-
   20 : 		</table>
126+
127
  162.         t = get_template(template_name)
128
File "/usr/lib/python2.7/site-packages/django/template/loader.py" in get_template
129-
   21 : 
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-
   22 : </body>
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-
   23 : </html>
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 "/home/oquidave/workspace/python/sysradar/monitor/views.py" in get_box_services
140+
File "/usr/lib/python2.7/site-packages/django/template/base.py" in compile_string
141-
  95.                        {"box_services":box_services})
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-
  164.         return t.render(Context(dictionary))
145+
  806.     nodelist_loop = parser.parse(('empty', 'endfor',))
146-
File "/usr/lib/python2.7/site-packages/django/template/base.py" in render
146+
File "/usr/lib/python2.7/site-packages/django/template/base.py" in parse
147-
  140.             return self._render(context)
147+
  278.                     compiled_result = compile_func(self, token)
148-
File "/usr/lib/python2.7/site-packages/django/template/base.py" in _render
148+
File "/usr/lib/python2.7/site-packages/django/template/defaulttags.py" in ifequal
149-
  134.         return self.nodelist.render(context)
149+
  848.     return do_ifequal(parser, token, False)
150-
File "/usr/lib/python2.7/site-packages/django/template/base.py" in render
150+
File "/usr/lib/python2.7/site-packages/django/template/defaulttags.py" in do_ifequal
151-
  840.                 bit = self.render_node(node, context)
151+
  823.         nodelist_false = parser.parse((end_tag,))
152-
File "/usr/lib/python2.7/site-packages/django/template/debug.py" in render_node
152+
File "/usr/lib/python2.7/site-packages/django/template/base.py" in parse
153-
  78.             return node.render(context)
153+
  276.                     self.invalid_block_tag(token, command, parse_until)
154-
File "/usr/lib/python2.7/site-packages/django/template/defaulttags.py" in render
154+
File "/usr/lib/python2.7/site-packages/django/template/base.py" in invalid_block_tag
155-
  155.             values = list(values)
155+
  331.                 (command, get_text_list(["'%s'" % p for p in parse_until])))
156
157-
Exception Type: TypeError at /get_box_services/
157+
Exception Type: TemplateSyntaxError at /box_services/
158-
Exception Value: 'Service' object is not iterable
158+
Exception Value: Invalid block tag: 'endfor', expected 'endifequal'
159
"""