版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、牛人计划-初级项目课(3)第三课 项目结构搭建 Flask-SQLAlchemy安装 ORM介绍 数据库切换/初始化 插入数据 查询/分页 删除数据 更新数据 模板继承 首页开发课程目录CONTENTS项目结构搭建(代码演示)application manage.py-脚本数据 runserver.py-启动服务器application-web目录 app.conf-配置文件 models.py-数据模型 views.py- 视图 init .py-模块导出文件static-静态文件templates-页面模板base.htmlindex.html login.htmlFlask安装和框架(官
2、网演示)Flask官网: /中 文 /flask-sqlalchemy/ Flask 安 装 :pip install Flask-SQLAlchemy MySQLdb: pip install Flask-MySQLdbORM介绍对象关系映射(Object-Relational Mapping)提供了概念性的、易于理解的模型化数据的方法数据库配置/切换(代码演示)对象关系映射(Object-Relational Mapping)提供了概念性的、易于理解的模型化数据的方法SQLALCH
3、EMY_DATABASE_URI = mysql:/root:nowcoderlocalhost:3306/test #SQLALCHEMY_DATABASE_URI = sqlite:/./nowstagram.db SQLALCHEMY_TRACK_MODIFICATIONS = TrueSQLALCHEMY_ECHO = False SQLALCHEMY_NATIVE_UNICODE = True SQLALCHEMY_RECORD_QUERIES = Falsedialect+driver:/username:passwordhost:port/databasehttp:/flask-
4、/2.1/config/#connection-uri-format数据模型(代码演示)class User(db.Model): tablename = user # 指定表名字 table_args = mysql_collate: utf8_general_ciid = db.Column(db.Integer, primary_key=True, autoincrement=True) username = db.Column(db.String(80), unique=True)password = db.Column(db.String(32
5、)def init (self, username, password): self.username = username self.password = passworddef repr (self):return ( % (self.id, self.username).encode(gbk)IntegerString (size)TextDateTimeFloatBooleanPickleTypeLargeBinary 数据类型插入数据(代码演示)for i in range(0, 100):db.session.add(User(牛客 +str(i), a+str(i)for j i
6、n range(0, 3): #每人发三张图db.session.add(Image(get_image_url(), i + 1) for k in range(0, 3):db.session.add(Comment(这是一条评论+str(k), 1+3*i+j, i+1) mit()一对多和查询数据(代码演示)一对多images = db.relationship(Image, backref=user, lazy=dynamic)/2.1/models/#one-to-many-relation
7、ships查询函数all()filter_by(id2)order_by(db.desc(User.id)get(primary_key)limit(count)first_or_404()offset(count)first()paginateget_or_404User.query.paginate(page=1, per_page=10).items/2.1/api/#flask.ext.sqlalchemy.BaseQuery删除数据(代码演示) query.delete()Comment.query.filter_by(
8、id = i + 1).delete() db.session.delete()for i in range(51, 100, 2):comment = Comment.query.get(i + 1) db.session.delete(comment)更新数据(代码演示) query.update()User.query.filter_by(id2).update(username:新名字+str(i) mit()for i in range(1, 100, 2): # 通过设置属性u = User.query.get(i + 1) u.username = d
9、 + str(i*i)模板继承(代码演示)base.html% block head % block title % endblock % - My Webpage% endblock % block content % endblock % block footer %© Copyright2008 by you.% endblock %child.html% extends base.html % block title %Index% endblock % block head % super() .important color: #336699; % endblock % block content %Ind
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年规划论证设计合同二篇
- 2027年桩机租赁合同二篇
- 合规转利润:降本增效全指南(2026)《GBT 36361-2018 LED加速寿命试验方法》
- 合规转利润:降本增效全指南(2026)《GBT 35918-2018动物制品中动物源性检测基因条码技术 Sanger测序法》
- 会展场馆管理师岗前测试验证考核试卷含答案
- 《用百分数解决问题-求比一个数多(少)百分之几》教学实录
- 《练习二十三》教学设计
- 合成树脂生产工改进测试考核试卷含答案
- 循环冷却水操作工成果转化评优考核试卷含答案
- 毛皮及毛皮制品加工工复试能力考核试卷含答案
- DB41∕T 2605-2024 蜡梅种质资源描述规范
- 白内障手术前后护理
- 高中英语读后续写题目和范文十篇
- 中建企业定额2023版
- 《计算机网络实验教程》全套教学课件
- 立体构成与现代雕塑业界优制课件
- 采访活动资料整理格式
- 二次函数的区间最值问题
- GB/T 42690-2023造船甲板机械绞缆筒外形
- 新外研版高二英语选择性必修三Unit5 nature in architecture课件(精编)
- GB/T 6111-2018流体输送用热塑性塑料管道系统耐内压性能的测定
评论
0/150
提交评论