Django Template包含一个带有加载数据的html模板

时间:2014-04-15 10:00:21

标签: html django templates

如何实现我可以包含在base.html中的Django模板(alert-msg.html)。加载其数据。

将alert-msg.html页面包含到base.html中不是问题。 但是这个模板如何为自己加载数据。我不会在每次观看电话时都给出数据。

{% loads function_name %}但这只调用一个函数...这个函数可以操作alert-msg.html模板吗?要注入数据?这个我试过但仍然没有结果......: - )

谢谢!

2 个答案:

答案 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