暑期实训记录9

学习记录

        在项目整合的过程中,我发现了一些由于对python的一些语法以及flask了解不深入造成的代码理解上的困难,于是,对一些知识进行了进一步的理解;且学习了一些文件配置规范,下面是学习过程中的一些笔记和总结

装饰器及其在flask路由中的使用

装饰器

为什么用装饰器?
        在不改变原函数的基础上,对原函数执行前后进行自定义操作。

"""一个简单的装饰器"""
def wapper(func)
@functools.warps(func)#用于使得新返回的inner保存被装饰的func函数的名字、注释等原信息 flask视图中添加装饰器时注意使用这句话以保留原信息
def inner(*args,**kwargs):
	"""
	一些扩展操作
	"""
	return func(*args,**kwargs)
return inner #返回inner这个函数(一个返回值为func(*args,**kwargs)的方法!)

函数 @wapper
        def function():
              return 0 的执行流程:
先执行wapper(function),返回值为inner;@语法糖执行:新function=warpper(旧function) 后续再用到function时,function已变为inner,@functools.warps(func)这句话的添加可以使inner保留原function的名字、注释等信息

flask路由

本质:存储url与函数的对应关系(存放在app中的map对象)
flask添加路由有两种方式

#1.常用
@app.route('/index',method=['GET','POST'])
def index():
	return "Index"

#2.是第一种方式在执行warpper(旧function)的过程中调用的一个函数  
def order():
	return 'Order'
app.add_url_rule('/order',view_func=order) 

Flask配置文件

使得settings.py 包含各种类,存储测试、生产等环境下的数据库等配置信息
在主程序中使用app.config.from_object(“settings.DevelopmentConfig”)
参考博客:wupeiqi老师关于flask介绍的博客

面向对象封装的思想

  1. 对面向对象的认识:
            -按属性和功能进行划分:方法封装到类中
            -将方法中共同的参数封装到对象中:把公共值封装到对象中

  2. 使用类的情况:
            a.一个需要传递很多值->将这些之封装到类中,用这些需要传递的值赋值给对象,则函数只需要接收这个对象 应用场景:base.response
            b.给了一些值,将数据加工 eg. django 自定义分页

工作日志

今日已完成目标:
1、用户模块与饮食记录模块对接
2、饮食推荐算法嵌入
当前首页
当前注册页面
正在进行:
1、模块对接(剩余饮食收藏、推荐模块)
2、社交云模块样式调整
3、饮食记录与饮食识别对接(识别饮食记录模块上传的图片)
4、界面优化
5、代码整合

尚未开始:
1、各模块功能测试

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值