所以我在使用Tango With Django这本书的教程的一半时,拼命地努力接收关于Django的尽可能多的信息。
现在我正在尝试设置一个列出所有类别的模板,但我收到错误
invalid syntax (rango_template_tags.py, line 8)
我不知道为什么我会得到这一行,绝对没有我用5 +次书检查它但我找不到任何看起来错误的地方。谁能告诉我为什么我会收到这个错误。
base.html文件
{% load rango_template_tags %}
<div>
{% block sidebar_block %}
{% get_category_list %}
{% endblock %}
</div>
# This file has more within it these are the new pieces of code that break the template system. If these are in it wont work.
rango_template_tags
from django import template
from rango.models import Category
register = template.Library()
@register.inclusion_tag('rango/cats.html')
def get_category_list():
return {'cats' Category.objects.all()}
cats.html
<ul>
{% if cats %}
{% for c in cats %}
<li><a href="{% url 'show_category' c.slug %}">{{ c.name }}</a></li>
{% endfor %}
{% else %}
<li><strong> There ar eno categories presen. </strong></li>
{% endif %}
</ul>
答案 0 :(得分:1)
在python词典中,每个键都通过冒号(:)
与其值分开
将你的返回声明从{'cats'Category.objects.all()}更改为{'cats':Category.objects.all()},并且函数或块中的代码应该被视为
from django import template
from rango.models import Category
register = template.Library()
@register.inclusion_tag('rango/cats.html')
def get_category_list():
return {'cats': Category.objects.all()}