首页 > 解决方案 > Jinja 不渲染 Django 视图

问题描述

我正在开发一个 Django 应用程序,但 jinja 不呈现视图。我需要将这些模板分开,因为我想包含特定内容。

当我打开data.htmldata2.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")

我的模板:

测试.html

{% load staticfiles %}

<h1>Data from data.html</h1>

{% include "user_backend/pages/data.html" %}

{% include "user_backend/pages/data2.html" %}

数据.html

<p>Data = {{a}} </p>

数据2.html

<p>Data2 = {{d}} </p>

标签: djangodjango-templatesdjango-viewsjinja2

解决方案


Include 仅包含您的 html 文件,它不会调用相应的视图并为您呈现它。您应该将 和 的值传递adtest.html ,并且在包含时,它将为您呈现值而不是变量。


推荐阅读