Flask 是一个轻量级的 Python Web 框架,非常适合构建简单到中等复杂度的 Web 应用。下面是一个从安装到构建基本 Web 应用的指南。
1. 安装 Flask
首先,确保你已经安装了 Flask。你可以使用以下命令安装:
pip install Flask
2. 创建一个简单的 Flask 应用
创建一个新的目录,并在该目录下创建一个 Python 文件(例如 app.py
)。
from flask import Flask, render_template, request, redirect, url_forapp = Flask(__name__)# 创建一个简单的路由
@app.route('/')
def home():return "Hello, Flask!"if __name__ == '__main__':app.run(debug=True)
3. 运行 Flask 应用
在终端中运行以下命令来启动 Flask 应用:
python app.py
在浏览器中打开 http://127.0.0.1:5000/
,你应该会看到 “Hello, Flask!”。
4. 模板渲染
Flask 使用 Jinja2 模板引擎来渲染 HTML 页面。创建一个 templates
目录,并在其中创建一个 HTML 文件(例如 index.html
)。
templates/index.html
:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Flask App</title>
</head>
<body><h1>Welcome to Flask App</h1>
</body>
</html>
在 app.py
中修改路由以渲染模板:
from flask import Flask, render_templateapp = Flask(__name__)@app.route('/')
def home():return render_template('index.html')if __name__ == '__main__':app.run(debug=True)
5. 处理表单数据
创建一个简单的表单来处理用户输入。首先,修改 templates/index.html
以包含一个表单:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Flask App</title>
</head>
<body><h1>Welcome to Flask App</h1><form action="/submit" method="post"><label for="name">Name:</label><input type="text" id="name" name="name"><button type="submit">Submit</button></form>
</body>
</html>
在 app.py
中添加一个新的路由来处理表单提交:
from flask import Flask, render_template, request, redirect, url_forapp = Flask(__name__)@app.route('/')
def home():return render_template('index.html')@app.route('/submit', methods=['POST'])
def submit():name = request.form['name']return f"Hello, {name}!"if __name__ == '__main__':app.run(debug=True)
6. 数据库集成
Flask 可以很容易地与数据库集成。以下是使用 SQLite 数据库的示例。
首先,安装 Flask-SQLAlchemy:
pip install Flask-SQLAlchemy
然后,修改 app.py
以使用 SQLAlchemy:
from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
db = SQLAlchemy(app)class User(db.Model):id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(100), nullable=False)@app.route('/')
def home():return render_template('index.html')@app.route('/submit', methods=['POST'])
def submit():name = request.form['name']user = User(name=name)db.session.add(user)db.session.commit()return f"Hello, {name}!"if __name__ == '__main__':app.run(debug=True)
创建数据库:
python
>>> from app import db
>>> db.create_all()
7. 部署 Flask 应用
你可以使用多个平台来部署 Flask 应用,例如 Heroku、AWS、Google Cloud 等。以下是部署到 Heroku 的简要步骤:
-
安装 Heroku CLI 并登录:
heroku login
-
创建一个
requirements.txt
文件:pip freeze > requirements.txt
-
创建一个
Procfile
文件:web: python app.py
-
初始化 git 仓库并推送到 Heroku:
git init git add . git commit -m "Initial commit" heroku create git push heroku master
-
打开浏览器访问你的应用:
heroku open
这些步骤展示了如何使用 Flask 构建和部署一个基本的 Web 应用。根据需求,可以进一步扩展和复杂化你的应用。如果你有特定的需求或问题,请告诉我,我可以提供更具体的帮助。