gpt4 book ai didi

python - 如何在 Flask 的页面上显示小部件?

转载 作者:行者123 更新时间:2023-12-03 16:46:07 24 4
gpt4 key购买 nike

如何在站点上创建小部件,例如登录表单、动态菜单(从数据库中获取的项目)、站点统计信息?

我知道您可以呈现一个模板,该模板将扩展到基础模板之外。在基本模板中,您可以创建这些小部件。

但我不知道如何将逻辑从基本模板转移到我的代码中。例如, block 的选择数据。这样的操作当然可以在模板中完成,但在我看来这是一个糟糕的方法。

抱歉我的英语不好。如果你不明白,我会尝试改写。

最佳答案

您将使用一个名为 WTForms 的 Python 库.它可以帮助您编写代码来创建由数据库支持的表单和其他小部件,您可以使用 jinja2 模板呈现这些小部件。

    class YourForm(Form):
your_field1 = TextField()
....
your_fieldn = SubmitField()


@app.route('/')
def view():
form=YourForm()
return render_template('your.html', form=form)

In your.html
<form >
{{ form.your_field1 }}
....
{{ form.your_fieldn }}
</form>

查看 form validation and rendering 的 flask 图案了解更多。

编辑:要创建对所有模板可用的全局变量,有两种方法:

  1. 您可以使用 global dict of jinja environment .这是代码:

       app.jinja_env.globals.update({'variable':1})
  2. 您可以使用 ContextProcessor .代码:

    @app.context_processor
    def inject_variable():
    return dict(variable=1)

现在您可以在应用的任何模板中访问变量

关于python - 如何在 Flask 的页面上显示小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com