如何使用jinja创建文本表单



背景

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

官方文件介绍了一个使用jinja的文本形式的例子。

问题

然而,我在使用jinja创建文本表单时遇到了两个问题。我找不到";forms.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>

forms.html是一个模板文件,它将提供文本框和文本区域的属性。

您必须将模板文件包含在项目目录中,并将其加载到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 %}

最新更新