如何使用jinja创建文本表单?

2024-05-08 04:52:31 发布

您现在位置:Python中文网/ 问答频道 /正文

背景

我想用jinja、Python和HTML创建一个登录表单。你知道吗

The official document介绍了一个使用jinja的文本表单示例。你知道吗

问题

但是,使用jinja创建文本表单有两个问题。 我找不到“表单.html“网页上提到的文档。 没有Python示例来执行用HTML和jinja编写的代码。你知道吗

如何修复当前代码以执行jinja中文本表单的示例程序?你知道吗

程序

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Login Page</title>
</head>
<body>
{% from 'forms.html' import input as input_field, textarea %}
<dl>
    <dt>Username</dt>
    <dd>{{ input_field('username') }}</dd>
    <dt>Password</dt>
    <dd>{{ input_field('password', type='password') }}</dd>
</dl>
<p>{{ textarea('comment') }}</p>
{% endcall %}
</body>
</html>

Tags: 代码文本程序表单示例fieldinputtitle
1条回答
网友
1楼 · 发布于 2024-05-08 04:52:31

你知道吗表单.html是一个模板文件,它将提供textbox和textarea的属性。你知道吗

必须将模板文件包含在项目目录中,并将其加载到python文件中。你知道吗

根据你的建议表单.html文件应包含以下代码。你知道吗

{% macro input(name, value='', type='text') -%}
    <input type="{{ type }}" value="{{ value|e }}" name="{{ name }}">
{%- endmacro %}

{%- macro textarea(name, value='', rows=10, cols=40) -%}
    <textarea name="{{ name }}" rows="{{ rows }}" cols="{{ cols
        }}">{{ value|e }}</textarea>
{%- endmacro %}

相关问题 更多 >