flask随笔3

1.多对多关系
    注意点:(学生课程表)
        1.需要在关系属性中添加secondary = 中间表名
        2.外键写在中间表中
        3.关系属性的编写依赖于外键,如果没有外键,关系属性不能使用
        4.lazy:可以设置为dynamic, 可以动态查询(用到的时候查询),默认是子查询(subquery)

2.模板代码
    一对多/多对多/自关联一对多/自关联多对多


3.数据库迁移,是通过扩展包,flask_migrate和flask_script来实现的.
操作流程:
    1.安装,导入
        pip install flask_migrate  提供两个类,Migrate, MigrateCommand
        pip install flask_script,  提供了Manager

    2.创建Manager对象,关联app
    3.使用Migrate类,关联app和db
    4.添加一条操作命令MigrateCommand
    5.编写操作语句
            1.生成迁移文件(一次就好)
            python xxx.py db init
            
            2.生成迁移脚本(记录模型类的字段信息)
            python xxx.py db migrate -m"版本名(注释)"
            
            3.更新迁移脚本到数据库(upgrade调用的是迁移脚本中的方法)
            python xxx.py db upgrade/downgrade [version]
            
            4.查看所有版本号
            python xxx.py db history
            
            5.查看最新版本号
            python xxx.py db show
        
    注意点:
    降级有风险,操作需谨慎        


4.蓝图: 是flask中专门用来模块化开发的技术,不需要安装扩展包就可以使用
使用流程:
1. 导入包
    from flask import Blueprint
    
2. 创建蓝图对象
3. 使用蓝图对象,装饰视图函数
4. 将蓝图注册到app中

5.以目录的形式使用蓝图


6.单元测试:和程序员有关的测试,需要我们自己写,一般针对重要模块,而且是大公司.
单元测试中经常用来的知识点是断言(assert).
断言(assert): 一般就用在单元测试,和框架中.
格式:
    assert boolean表达式1, 语句A
执行流程:
    如果表达式1,为True,继续向后执行
    如果表达式1,为False,抛出异常,执行语句A

7.三种搜索方式
    1.当前文件搜索
    2.当前项目搜索
    3.指定目录搜索
    ctrl+ shift + f

8.登陆案例,单元测试流程
    测试流程:
    1.定义类,继承自unittest.TestCast
    2.编写测试方法,以test开头
    3.获取到测试客户端
        client =  app.test_client()
    4.发送登陆请求,post请求,并且接受响应信息
    5.获取到相应信息中的json内容, 解析成字典
    6.断言了,字典中必须要包含响应值


9.json和dict之间的相互转换
json字符串:"{name='zhangsan',age=13}"
dict对象: {name='zhangsan',age=13}

1.字典dict转json字符串
json_data = json.dumps(dict_data)

2.json字符串转字典dict
dict_data = json.loads(json_data)


10.
在进行测试案例编写的时候经常使用的两个方法:
setUp: 在测试案例开始的时候就会执行
    适合做: 初始化操作,比如:数据库的链接,表的创建,开启测试模式
    开启测试模式: app.testing = True,  报错之后会提示具体位置

tearDown: 测试结束的时候会执行该方法
    适合做: 收尾工作,比如:关闭流,表的删除,关闭会话


11.测试数据库添加内容的案例;

多对多(学生-课程关系表)

数据库迁移


蓝图

单元测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值