I didnt find an option to get relational instance object from a queryset without help of templatetags, so I am trying as below mentioned using custom template tags in for loop. But getting this error:
File "D:\Neon_ecl\Projects\shof\shof\smapy\views.py", line 276, in menulist
'p' :p
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\shortcuts.py", line 30, in render
content = loader.render_to_string(template_name, context, request, using=using)
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\template\loader.py", line 67, in render_to_string
template = get_template(template_name, using=using)
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\template\loader.py", line 21, in get_template
return engine.get_template(template_name)
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\template\backends\django.py", line 39, in get_template
return Template(self.engine.get_template(template_name), self)
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\template\engine.py", line 160, in get_template
template, origin = self.find_template(template_name)
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\template\engine.py", line 134, in find_template
name, template_dirs=dirs, skip=skip,
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\template\loaders\base.py", line 44, in get_template
contents, origin, origin.template_name, self.engine,
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\template\base.py", line 191, in __init__
self.nodelist = self.compile_nodelist()
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\template\base.py", line 233, in compile_nodelist
return parser.parse()
File "C:\Python27\Scripts\tvapp_env\lib\site-packages\django\template\base.py", line 518, in parse
raise self.error(token, e)
TemplateSyntaxError: Invalid block tag on line 28: 'pdscheck', expected 'empty' or 'endfor'. Did you forget to register or load this tag?
In Template:
<tbody>{% load smapy_extras %}
{% for obj in pds %}
{% pdscheck czpds obj %}
{{ temppd }}
{% if obj in p %}<tr style="color:red;">{%else%}
<tr style="color:grey;">{%endif%}
<th scope="row">{{ obj.id }}</th>
<td>{{ obj.pd_name }}</td>
<td>{{ obj.volume }}</td>
<td>{{ obj.mrp }} </td>
{% if obj in czpds %}<td><input type=submit value="Disable" style="width:100%" onclick="addPds({{shop.id}},{{heading.id}},'pdctg',{{obj.id}})"></form> </td>
{% else %} <td><input type=submit value="Enable" style="width:100%" onclick="addPds({{shop.id}},{{heading.id}},'pdctg',{{obj.id}})"></form> </td>
{%endif%}
</tr>
{% endfor %}
</tbody>
Template Tag File: from django import template
register = template.Library()
@register.filter(name='pdscheck')
def pdscheck(czpds, obj):
tempctg = 'pdctg'
temppd = czpds.filter(tempctg=obj)
return {'temppd': temppd}
You registered a filter, not a tag.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments