目录结构
根目录下 07login.py
目录templates目录下:08sqlalchmy.html 08login.html 08register.html 04base.html
目录data目录下:connect.py user_modules.py
一、基础模型相关
1、数据库连接设置文件(请自行修正程序缩进,连接信息根据自身情况进行修正)
connect.py
from sqlalchemy import create_engine
HOSTNAME = '127.0.0.1'
PORT = '3306'
DATABASE = 'mydb'
USERNAME = 'admin'
PASSWORD = 'Root110qwe'
db_url = 'mysql+pymysql://{}:{}@{}/{}?charset=utf8'.format(
USERNAME,
PASSWORD,
HOSTNAME,
DATABASE
)
engine = create_engine(db_url)
#创建映像
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base(engine)
#创建会话
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(engine)
session = Session()
# if __name__ == '__main__':
# print(dir(engine))
# print(dir(Base))
# print(dir(session))
2、模型创建 与 基本方法
user_modules.py
from datetime import datetime
from sqlalchemy import Column, Integer, String, DateTime, Boolean
from connect import Base, session
class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True, autoincrement=True)
username = Column(String(20), nullable=False)
password = Column(String(50))
creatime = Column(DateTime, default=datetime.now)
_locked = Column(Boolean, default=False, nullable=False)
@classmethod
def all(cls):
return session.query(cls).all()