【问题标题】:Giving value to text boxes in forms using Flask and Python使用 Flask 和 Python 为表单中的文本框赋予价值
【发布时间】:2015-02-11 14:57:45
【问题描述】:

我有一个 HTML 页面,其中有 5 个文本框,我想用我的 MongoDB 数据库中的数据填充这些文本框。 结构是这样的:

app/
 templates/
  *.html (All HTML Templates here)
 forms.py
 views.py
run.py

所有表单都存储在 forms.py 文件中。 views.py 文件有路线。当用户单击某个 html 页面时,文本框应该已经具有应该来自数据库的值。我无法弄清楚如何填充这些内容。

我正在使用 flask-wtf 来制作表单。这是forms.py文件的代码——https://github.com/rahulw/Inventory-Management-for-a-Store/blob/master/app/forms.py

【问题讨论】:

    标签: python mongodb flask flask-wtforms


    【解决方案1】:

    您使用什么数据库并不重要。基本上,您需要做的是更改表单的此属性:

    form.post_body.data = page_content['body']
    

    其中 page_content 是您从数据库中提取的内容,post_body 是您要填充的特定表单字段,而 form 当然是您的表单。

    然后,您可以像往常一样将此表单放入视图中,数据将被填充!

    【讨论】:

    • @ryan-odonnell 这对我有用。谢谢你。我坚持的是,当在该表单中输入新值并单击提交按钮时,不会采用文本框中的新值,而是采用打印的旧值。我想更新数据库中的值,但想在编辑它之前先向用户显示它,并避免他再次输入所有值而只是编辑所需的值。您对此有什么建议吗?
    • Rahul,如果不加载您的应用程序并进行一些调试,很难确切知道,但我猜您忘记了 if request.method == 'POST' 或类似的东西,而您正在重写发送发布请求后您的值。当您在这里得到答案时,如果您将它们标记为正确,每个人都会喜欢它:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多