07-flask-使用sqlalchemy

Posted 萌新瑟瑟发抖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07-flask-使用sqlalchemy相关的知识,希望对你有一定的参考价值。

代码

from flask import Flask, render_template
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, String, Integer
from sqlalchemy.orm import sessionmaker

app = Flask(__name__)
# 链接是需要指定要用到的mysql数据库
engine = create_engine(‘mysql+pymysql://root:123456@localhost:3306/flask_1?charset=utf8‘)  # mysql+pymysql://mysql账号:mysql密码@mysqlIP:mysql端口/数据库?charset=编码格式
Base = declarative_base()  # 生成SQLORM基类


class User(Base):
    # 对应MySQL中数据表的名字
    __tablename__ = ‘user‘

    # 创建字段
    id = Column(Integer, primary_key=True)
    user_id = Column(String(50), nullable=False)
    user_name = Column(String(50), nullable=False)
    head_img = Column(String(200))
    short_description = Column(String(300))


@app.route("/profile_v8/<user_id>")
def profile_v8(user_id):
    # 1. 查询数据库
    # 创建session对象
    DBSession = sessionmaker(bind=engine)  # 创建与数据库的会话,返回的是一个类
    session = DBSession()  # 生成链接数据库的实例

    # 获取返回数据的第一行
    obj = session.query(User).filter(User.user_id == user_id).one()  # session.query(表名)filter(条件)
    # 关闭session
    session.close()

    # 2. 模板渲染
    return render_template("profile.html", user_name=obj.user_name, head_img=obj.head_img, short_description=obj.short_description)


if __name__ == ‘__main__‘:
    app.run()

以上是关于07-flask-使用sqlalchemy的主要内容,如果未能解决你的问题,请参考以下文章

Flask07-Flask知识点补充

使用sqlacodegen自动生成sqlalchemy的model代码

从 python 使用 TSQL(SQL Server 上的 mssql)时,如何为 SQLAlchemy 自动生成 ORM 代码?

如何使用 sqlalchemy 计算平均数?

SqlAlchemy - 按关系属性过滤

使用 sqlalchemy 时如何选择特定列?