web实战基础(FLASK篇):一步步实现登录界面和消息快闪功能(中篇)

各位好!目前计划从基础写起,然后作为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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值