flask 的安装使用
1. 基础代码
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): # put application's code here return '正式开始' if __name__ == '__main__': app.run()
2. url 传递参数
@app.route('/book/list') def book_list(): # arguments;参数 # request.args;美字典类型 page = request.args.get("page", default=1, type=int) return f"您获取的是第{page}的图书列表!“
3.前台传递参数方式
www.baidu.com/book/list?page=5
模板渲染
1. 返回 html 页面
@app.route('/')
def hello_world():
return render_template('index.html')
过滤器
过滤器的使用方式为:变量名 | 过滤器。 {{ "hello world" | reverse | upper }} // 使用
// 自定义过滤器
# 方法一:通过注册的方式定义过滤器 # add_template_filter的底层函数 self.jinja_env.filters[name or f.__name__] = f # add_template_filter参数可以理解为:通过自定义过滤器名字my_lireverse找到过滤器的引用do_listreverse,然后通过引用启动过滤器 def do_listreverse(li): temp_li = list(li) temp_li.reverse() return temp_li app.add_template_filter(do_listreverse,"my_lireverse01")
// 调用
{{ "123456789"|my_lireverse01 }}<br/>
控制语句
<!doctype html> <title>Hello from Flask</title> {% if name %} <h1>Hello {{ name }}!</h1> {% else %} <h1>Hello, World!</h1> {% endif %}
模板继承
{% extends "index.html" %} // 继承语法
{% block foot %} // 标签使用
子模板内容
{% endblock %}
加载静态文件
<link href = "{{ url_for('static', filename='about.css') }}">
数据库
1. 安装插件
flask-sqlalchemy flask-migrate
2. 数据库连接
pymysql // 安装插件
连接 sql
HOSTNAME="127.0.0.1"
PORT=*****
USERNAME="******"
PASSWORD="******"
DATABASE = '*****'
app.config['SQLALCHEMY_DATABASE_URI']=f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
// 连接 sqlite
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db' # 使用 SQLite 数据库
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
3. 数据迁移
flask db init 创建迁移文件夹migrates,只调用一次 flask db migrate 生成迁移文件 flask db upgrade 执行迁移文件中的升级 flask db downgrade 执行迁移文件中的降级
模型
1.创建一个表
from flask import Flask, render_template, request, redirect from flask_migrate import Migrate from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() app = Flask(__name__) class User(db.Model): // 创建一个表
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True) // 字段
name = db.Column(db.String(80), unique=True)
email = db.Column(db.String(80), unique=True)
2 . 添加数据
@app.route('/user/add') def user_add(): user1=User(username:"张三", password:"111111' user2=User(username:"李", password:"222222") db.session.add(user1) db.session.add(user2) db.session.commit() return "用户添加成功!"
3. 数据查询
@app.route('/user/get') def user_add(): #1.get查找:根据主键查找 #user =User.query.get(1) #2.filter_by查找 users = User.query.filter_by(username="法外狂徒张三") return "数据查找成功!"
标签:__,10,21,flask,app,db,add,name From: https://www.cnblogs.com/longly1111/p/18488897