大家好!!在本教程中,我们将研究 Flask 表单以及如何创建它们。那么让我们现在就深入研究一下吧!
Flask 表单的基础知识
表单是 Web 应用程序的重要组成部分,从用户身份验证界面到我们网站上所需的调查表单。
表格的典型示例是:
在这里,当用户第一次请求该页面时,他通过我们所说的“ GET 方法”接收该页面。
填写表单后,用户数据通过POST方法发送到服务器。
我们稍后将详细了解这两种方法。
这些表单使用 HTML 的<form>属性通过模板显示给用户。
示例 HTML 表单如下所示:
< form action = "action_to_perform_after_submission" method = "POST" > < p >Field1 < input type = "text" name = "Field1_name" /></ p > < p >Field2 < input type = "text" name = "Field2_name" /></ p > < p >Field3 < input type = "text" name = "Field3_name" /></ p > < p >< input type = "submit" value = "submit" /></ p > </ form > |
在这里,我们在action属性中定义对表单数据执行的操作。
发送数据的 GET 或 POST 方法
其中每个方法(也称为 HTTP 方法)对服务器资源执行特定操作。每种方法对应不同的任务。在本文中,我们将了解其中的两种方法:GET 和 POST 方法。
- GET –此方法从网络服务器中提取特定信息(只是为了查看它)
- POST –此方法将数据从用户发送到服务器。
因此,以 Instagram 应用程序为例。
默认情况下,浏览器总是使用GET方法来显示网页上的资源。因此,在这里您可以看到不同的内容 – 帖子和模因(通过 GET 方法)。
但是,当您发布照片时,基本上您会将信息(照片和标题)发送到 Instagram 应用程序服务器。因此,此操作(向服务器发送数据)是通过 POST 方法完成的。
同样,考虑一个博客网站。当你在网站上阅读博客时,是通过GET方法。当您撰写和发布博客时,是通过POST方法。
构建你的第一个 Flask 表单
我们现在将在 Flask 应用程序中创建一个简单的表单
1.编写flask文件
考虑以下代码:
from flask import Flask,render_template,request app = Flask(__name__) @app .route( '/form' ) def form(): return render_template( 'form.html' ) @app .route( '/data/' , methods = [ 'POST' , 'GET' ]) def data(): if request.method = = 'GET' : return f "The URL /data is accessed directly. Try going to '/form' to submit form" if request.method = = 'POST' : form_data = request.form return render_template( 'data.html' ,form_data = form_data) app.run(host = 'localhost' , port = 5000 ) |
这里,
- 表单视图向用户显示 HTML 表单模板
- 当用户提交表单时,表单数据(作为请求对象的一部分)通过 POST 方法 发送到数据视图。
- 然后,数据视图将表单数据元素重新创建到变量form_data中,并将其发送到data.html模板进行显示。
request.form有一个字典结构:
form_data = { 'key1(field1_name)' : 'value1(field1_value)' , 'key2(field2_name)' : 'value2(field2_value)' , . . } |
在这里,一旦提交表单,浏览器就会重定向到数据功能网页。
注意:当我们通过表单定向到/data时,我们基本上是通过POST方法访问数据网页。
2. 模板文件
这里的表单模板-“ form.html ”将是:
< form action = "/data" method = "POST" > < p >Name < input type = "text" name = "Name" /></ p > < p >City < input type = "text" name = "City" /></ p > < p >Country < input type = "text" name = "Country" /></ p > < p >< input type = "submit" value = "Submit" /></ p > </ form > |
data.html将显示表单数据:
{% for key,value in form_data.items() %} < h2 > {{key}}</ h2 > < p > {{value}}</ p > {% endfor %} |
请查看我们的Flask 模板文章,了解有关模板的更多信息。
3.本准则的实施
现在运行服务器并检查
点击提交并查看
此外,当您尝试直接从浏览器点击 URL“/data”时,您将通过GET方法获取此网页,该方法将显示错误,因为不存在表单数据。
结论
就是这样,伙计们!这就是 Flask 中的 Forms 的全部内容。我们将在接下来的文章中了解更多有关此类 Flask 主题的信息!
到那时,祝您编码愉快 🙂