Flask 是一个轻量级的 Python Web 框架,非常适合构建简单到中等复杂度的 Web 应用。下面是一个从安装到构建基本 Web 应用的指南。
首先,确保你已经安装了 Flask。你可以使用以下命令安装:
pip install Flask
创建一个新的目录,并在该目录下创建一个 Python 文件(例如 app.py
)。
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
# 创建一个简单的路由
@app.route('/')
def home():
return "Hello, Flask!"
if __name__ == '__main__':
app.run(debug=True)
在终端中运行以下命令来启动 Flask 应用:
python app.py
在浏览器中打开 http://127.0.0.1:5000/
,你应该会看到 “Hello, Flask!”。
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 Apptitle>
head>
<body>
<h1>Welcome to Flask Apph1>
body>
html>
在 app.py
中修改路由以渲染模板:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
创建一个简单的表单来处理用户输入。首先,修改 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 Apptitle>
head>
<body>
<h1>Welcome to Flask Apph1>
<form action="/submit" method="post">
<label for="name">Name:label>
<input type="text" id="name" name="name">
<button type="submit">Submitbutton>
form>
body>
html>
在 app.py
中添加一个新的路由来处理表单提交:
from flask import Flask, render_template, request, redirect, url_for
app = 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)
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 SQLAlchemy
app = 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()
你可以使用多个平台来部署 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 应用。根据需求,可以进一步扩展和复杂化你的应用。如果你有特定的需求或问题,请告诉我,我可以提供更具体的帮助。