课件代码可见内容课件c1-03_W_第1页
课件代码可见内容课件c1-03_W_第2页
课件代码可见内容课件c1-03_W_第3页
课件代码可见内容课件c1-03_W_第4页
课件代码可见内容课件c1-03_W_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论