📅  最后修改于: 2023-12-03 15:29:01.632000             🧑  作者: Mango
黄貂鱼是一款基于 Python 的轻量级 Web 框架,由 Python 开发者 Armin Ronacher 创造。它的目标是使 web 开发变得快速和简单,同时保持灵活性和可扩展性。
可以通过 pip 来安装黄貂鱼:
pip install flask
下面是一个简单的示例代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
运行该脚本后,在 web 浏览器中输入 http://localhost:5000,即可看到 'Hello, World!' 的欢迎信息。
黄貂鱼使用一种类似于 Django 的路由系统,可以通过使用 python 的装饰器来实现。
@app.route('/hello')
def hello():
return 'Hello, Flask!'
上面的代码定义了一个路由,当访问 http://localhost:5000/hello 时,将调用 hello 函数并返回 'Hello, Flask!' 字符串。
黄貂鱼自带一个简单的模板引擎,并使用 Jinja2 作为默认模板引擎,可以通过 render_template
函数来渲染模板,并传递变量。
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', name='Flask')
if __name__ == '__main__':
app.run()
上面的代码中,index 函数将会返回渲染后的 index.html 模板,其中 name 变量值为 'Flask'。
黄貂鱼可以使用多种数据库,例如 SQLite、MySQL、PostgreSQL 等,并使用 SQLAlchemy 作为 ORM 框架。下面是一个使用 SQLite 数据库的示例:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.sqlite'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), unique=True)
def __repr__(self):
return '<User %r>' % self.name
@app.route('/')
def index():
user = User(name='Flask')
db.session.add(user)
db.session.commit()
users = User.query.all()
return str(users)
if __name__ == '__main__':
app.run()
上面的代码中,定义了一个 User 模型,然后使用 SQLAlchemy 提供的 API 进行添加和查询等操作。
黄貂鱼是一个非常简单、易于使用的 Python Web 框架,它的学习曲线很低,适合初学者或者快速开发小型项目。同时,它也提供了足够的灵活性和可扩展性,可以用于开发大型应用程序。