首页 > 解决方案 > 如何以正确的格式在 HTML 页面中显示 jinja2 模板(j2 文件)?

问题描述

我能够在 HTML 页面上显示 jija2 模板,但输出格式不正确。

当前输出为:
你的名字是汤姆 你的姓是汉克斯
预期输出为:

你的名字是汤姆
你的姓是汉克斯

视图.py

from django.shortcuts import render
from django import forms
from jinja2 import Environment, FileSystemLoader


class DbNames(forms.Form):
    first_name = forms.CharField(label="First Name")
    last_name = forms.CharField(label="Last Name")


def index(request):
    return render(request, "emps/index.html")


def form_gen(request):
    form = DbNames()
    if request.method == "POST":
        form = DbNames(request.POST)
        if form.is_valid():

            file_loader = FileSystemLoader('emps/templates/emps')
            env = Environment(loader=file_loader)
            template = env.get_template('result.j2')
            output = template.render(form.cleaned_data)

            return render(request, "emps/output.html", {
                "form_data": output
            })
        else:
            print('ERROR')
    return render(request, "emps/users.html", {
        "form": form
    })

结果.j2

Your first name is {{first_name}}
Your last name is {{last_name}}

标签: djangodjango-formsjinja2web-frameworkshtml-templates

解决方案


这不是关于 jinja2 或 django 是在 html 中的,你可以使用像这样的标签

或者但如果这不起作用,也许你可以使用这样的 ul :

<ul>
    <li>Your first name is {{first_name}}</li>
    <li>Your last name is {{last_name}}</li>

</ul>

推荐阅读