安装Flask
确保已安装Python(建议3.6+版本)。通过pip安装Flask:
bash
pip install flask
创建基础应用
新建一个Python文件(如app.py),写入以下代码启动最小化Flask应用:
python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, Flask!"
if __name__ == '__main__':
app.run(debug=True)
运行后访问http://127.0.0.1:5000即可看到输出。
路由与视图
通过@app.route()定义路由,视图函数返回响应内容。支持动态路由:
python
@app.route('/user/<username>')
def show_user(username):
return f"User: {username}"
模板渲染
使用render_template渲染HTML模板。创建templates文件夹存放模板文件(如index.html):
python
from flask import render_template
@app.route('/template')
def template_demo():
return render_template('index.html', title='Flask Template')
模板中使用Jinja2语法传递变量:
html
<h1>{{ title }}</h1>
静态文件处理
静态文件(CSS/JS/图片)存放在static目录下,通过url_for生成引用路径:
html
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
表单处理
安装flask-wtf扩展处理表单:
bash
pip install flask-wtf
示例代码:
python
from flask import request
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
return f"Welcome {username}"
return '''
<form method="post">
<input type="text" name="username">
<button type="submit">Submit</button>
</form>
'''
数据库集成
使用flask-sqlalchemy操作数据库:
bash
pip install flask-sqlalchemy
配置SQLite数据库:
python
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True)
项目结构建议
标准项目目录结构:
/project
/static
/templates
app.py
config.py
requirements.txt
部署上线
使用gunicorn部署生产环境:
bash
pip install gunicorn
gunicorn -w 4 app:app