我已经用几个模板构建了网站,但我想实现如何从 base.html 中的 DB 读取菜单,这将在整个网站上可见,我不想将它添加到每个模板中。我在 POLL 示例的文档中找到:
https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#inclusion-tags
错误截图
TemplateSyntaxError at / Invalid block tag: 'show_menu'
在我做的应用程序下:templatetags/menu.py
from django import template
register = template.Library()
@register.inclusion_tag('menu.html')
def show_menu(menu):
menu = Menu.objects.all()
return {'menu': menu}
base.html
{% load menu %}
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
{% show_menu menu %}
{% block content %}{% endblock %}
</body>
</html>
索引.html
{% extends "base.html" %}
{% block content %}
Hello World! (Content)
{% endblock %}
请帮忙,我做错了什么?谢谢