如何实现我可以包含在base.html中的Django模板(alert-msg.html)。加载其数据。
将alert-msg.html页面包含到base.html中不是问题。 但是这个模板如何为自己加载数据。我不会在每次观看电话时都给出数据。
有{% loads function_name %}
但这只调用一个函数...这个函数可以操作alert-msg.html模板吗?要注入数据?这个我试过但仍然没有结果......: - )
谢谢!
答案 0 :(得分:2)
听起来你正在寻找的是inclusion tag,它基本上就像你可以从你的模板调用的迷你视图,并从请求上下文中传入变量,然后在标记函数中对它们进行操作。如果需要,您可以在base.html中添加该标记。
如果每个视图都不会显示数据,您可以编写包含标记来处理该数据,或者您可以使用custom context processor在每次调用中提供数据。
顺便说一下,{% loads foo %}
不是用于加载函数 - 它是用于加载非默认模板标记库,如果要使用新创建的包含标记,则需要执行此操作。我建议先阅读所有custom template tags docs,以便为编写包含标记时提供一些背景信息。
答案 1 :(得分:1)
也可以使用 include 内置:
{% include "name_snippet.html" with person="Jane" greeting="Hello" %}
https://docs.djangoproject.com/en/2.0/ref/templates/builtins/#include