用Python开发你的第一个网络应用程序

455 阅读3分钟

在本教程中,我们将解释如何用Python开发你的第一个web应用程序。

在Python中,有许多框架,如DjangoFlask ,它们可以轻松地创建网页和开发Web应用程序。

在本教程中,我们将使用Flask 来开发我们在Python中的第一个web应用程序。Flask 是一个用Python编写的流行的微型Web框架,它提供了有用的工具和功能来轻松开发Web应用程序。它易于使用,并为新的开发者提供了灵活性。

Flask 框架默认使用Jinja2 模板引擎。你显然可以使用不同的模板引擎,但你仍然必须安装Jinja2 ,以运行Flask本身。

在本教程中,我们将开发一个Web应用程序,该应用程序有一个带输入字段的用户表单和一个提交表单并分配表单的提交值。

所以让我们继续在Python中开发Web应用程序。

创建应用程序目录

首先,我们将创建我们的应用程序目录。我们将移动到Python的安装目录来创建应用目录。现在我们将使用下面的命令创建应用程序目录web-app-python

$ mkdir web-app-python

我们将移动到新创建的应用程序目录。

$ mkdir web-app-python

安装Flask

现在我们将安装Flask 框架,用它来开发带有HTML表单的Web应用程序。

$ pip install Flask

用Flask创建网页

在配置好项目和安装好所需的软件包后,让我们开始着手编写代码。

现在我们将创建一个Python脚本app.py ,并使用Flask模块。

在下面的脚本中,我们将在脚本的顶部导入Flask模块。Flask构造函数将当前模块的名称(__name__) 作为参数。Flask类的route() 函数是一个装饰器,它告诉应用程序哪个URL应该调用相关函数。

Flask类的run() 方法在本地开发服务器上运行应用程序

#app.py

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return 'Hello, My application with Flask in Python!'
if __name__=='__main__':
   app.run()
   

当我们运行上述脚本时,它将在命令行上显示如下细节

 * Serving Flask app 'app' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000 (Press CTRL+C to quit)

然后进入上面给出的网址(http://127.0.0.1:5000) ,就会看到我们的第一个网页在本地服务器浏览器上显示信息。

使用Flask创建Web应用程序

上面的应用程序只显示一个简单的信息,没有任何HTML。现在我们将使用HTML模板文件创建带有输入元素的HTML表单页面。

Flask 提供了一个render_template() 的辅助功能,允许使用Jinja模板。这将使管理HTML变得更加容易,在.html 文件中编写你的HTML代码,以及在你的HTML代码中使用逻辑。

所以现在我们将在我们的项目中创建一个目录templates 。然后我们将用以下HTML创建index.html ,以创建带输入的HTML表格。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=<<for>>, initial-scale=1.0">
<title>My First Flask App</title>
</head>
<body>
{% block content %}
<br><br>
<form action="{{ url_for("index")}}" method="post">
<label for="firstName">First Name:</label>
<input type="text" id="firstName" name="firstName" placeholder="First Name"><br><br>
<label for="lastName">Last Name:</label>
<input type="text" id="lastName" name="lastName" placeholder="Last Name"><br><br>
<label for="lastName">Email:</label>
<input type="email" id="email" name="email" placeholder="Email"><br><br>
<button class="submit"> submit</button>
{% endblock %}
</body>
</html>

现在将上述文件保存为index.html ,并使用Python脚本渲染,以创建服务器。

#app.py

from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/', methods =["GET", "POST"])
def index():    
    if request.method == "POST":       
        firstName = request.form.get("firstName")       
        lastName = request.form.get("lastName") 
        email = request.form.get("email")        
        return "Name: " + firstName + " " + lastName + " <br>Email: "+email       
    return render_template("index.html")
if __name__=='__main__':
   app.run()
   

运行上述脚本后,网络服务器开始在浏览器中使用网址**:http://127.0.0.1:5000/**,并显示以下带有输入和提交按钮的HTML表单。

当上述表格提交时,下面的页面将显示提交页面的结果。