各位好!目前计划从基础写起,然后作为WEB入门,最合适的就是实现登录页面,因此选择了这个主题:
web实战基础(FLASK篇):一步步实现登录界面和消息快闪功能(中篇)
这里就不累赘了,直接简单粗暴的记录一步步从零开始布局web页面的过程,希望大家喜欢和点赞,感谢!
一、搭建最简单的FLASK程序
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello flask'
if __name__ == '__main__':
app.run()
二、连接数据库的配置文件config.py
HOSTNAME = '127.0.0.1'
PORT = '3306'
DATABASE = 'test'
USERNAME = 'root'
PASSWORD = 'dhj'
DB_URI= 'mysql+mysqldb://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)
app.config['SQLALCHEMY_DATABASE_URI']=DB_URI
三、初始化db数据库对象
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
db.init_app(app)
四、创建数据库test,切换到mysql界面
create database temp charset=utf8;
五、创建模型user和role
class User(db.Model):
__tablename__ = 'users'
# 表字符编码格式设置
__table_args__ = {'mysql_collate': 'utf8_general_ci'}
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
username = db.Column(db.String(50),nullable=False)
rold_id = db.Column(db.Integer,db.ForeignKey('roles.id'))
class Role(db.Model):
__tablename__ = 'roles'
# 表字符编码格式设置
__table_args__ = {'mysql_collate': 'utf8_general_ci'}
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
rolename = db.Column(db.String(50),nullable=False)
users = db.relationship('User',backref='role')
六、创建定义的表结构
# 删除定义的表结构
db.drop_all()
# 创建定义的表结构
db.create_all()
七、增加数据
#添加数据
role = Role(rolename=u'ceshi')
db.session.add(role)
db.session.commit()
user1 = User(username='user1',role_id=role.id)
db.session.add(user1)
print(role.rolename)
db.session.commit()
八、查询数据
#查询数据
#查询所有数据
print(Role.query.all())
print(User.query.all())
#根据条件查询数据(筛选数据(filter_by)); slect * from table where xxx=xxx;
print(User.query.filter_by(role_id=1).all())
# 对于查询的信息进行显示限制;
users = User.query.filter_by(role_id=1).limit(5).all()
print(users, len(users), end='\n')
#删除数据
# 对于查询的信息进行排序输出(默认情况由小到大进行排序), 如果想要由大到小: desc(User.add_time);
users = User.query.filter_by(role_id=1).order_by(db.desc(User.username)).all()
print(users)
# 多个过滤函数加一个显示函数:
users = User.query.filter_by(role_id=1).order_by(db.desc(User.username)).limit(5).all()
print(users)
九、修改数据
# 修改数据
user1 = User.query.filter_by(role_id=1).first()
print(user1.id)
user1.username = '王五'
db.session.add(user1)
db.session.commit()
#查询修改后的数据
user2 = User.query.filter_by(username=u'王五').first()
print(user2.username)
十、删除数据
# 先查询,后删除
db.session.query(User).filter(User.username == "王五").delete()
db.session.commit()
user = User.query.filter_by(username=u'王五').first()
print(user)
OK,至此本篇介绍结束,欢迎继续关注下篇的介绍。
持之以恒,以致成功。
参考文章:
https://blog.csdn.net/weixin_40539892/article/details/80227981
https://www.jianshu.com/p/0508eb37d03f
https://blog.csdn.net/zcx1203/article/details/83590582