【发布时间】:2019-03-09 13:55:55
【问题描述】:
我正在开发一个 Django 应用程序,但 jinja 不呈现视图。我需要将这些模板分开,因为我想包含特定内容。
当我打开 data.html 和 data2.html 时,我可以看到值“1”和“4”。但是当我打开 test.html 时,我看不到这些值。并且多个 {% extends %} 不起作用。
如何将 data.html 和 data2.html 加载到带有渲染数据的 test.html 中?
我对 Django 的看法:
def data1(request):
return render(request, 'user_backend/pages/data.html',{'a':1,
"b":2,
"c":3})
def data2(request):
return render(request, 'user_backend/pages/data2.html',{'d':4,
"e":5,
"f":6})
def test_temp(request):
return render(request,"user_backend/pages/test.html")
我的模板:
test.html
{% load staticfiles %}
<h1>Data from data.html</h1>
{% include "user_backend/pages/data.html" %}
{% include "user_backend/pages/data2.html" %}
data.html
<p>Data = {{a}} </p>
data2.html
<p>Data2 = {{d}} </p>
【问题讨论】:
-
你在没有参数的情况下渲染
test.html。如果您包含一个模板,它将不调用相应的视图。所以a和d确实不见了。 -
这也是有道理的,因为不是每个视图本身都渲染一个模板,一个模板可以被多个视图渲染。
标签: django django-templates django-views jinja2