关于可迭代对象其中含有__iter__方法,返回迭代器
迭代器:含有__next__方法,
生成器:函数中含有yield关键字的函数,被其执行后是生成器含有__next__方法
如果获取的数据不是直接可以展示的结构
有三种方法可以做:
方案一:
循环一次,生成数据
方案二:
方案二:
利用yield来实现
def test(request):
user_list = [
{'id':1,'name':'alex','age':19},
{'id':2,'name':'eric','age':18},
]
def inner(arg):
for item in arg:
yield {'id':item['id'], 'name':item['name'],'age':item['id']+item['age']}
方案三:
利用类、__iter__、yield实现
class Foo(object):
def __init__(self,data):
self.data = data
def __iter__(self):
for item in self.data:
yield item
def test(request):
user_list = [
{'id':1,'name':'alex','age':19},
{'id':2,'name':'eric','age':18},
]
obj = Foo(user_list)
return render(request,'test.html',{'user_list':obj})
关于git的命令行
通过一个创业的公司经历阶段来讲解如何使用git:
第一个阶段:
在需要的文件下右键选择git bush here
git init 初始化
git config --global user.email "you@example.com" 配置信息
git config --global user.name "Your Name" 配置信息
git add . 添加所有的信息
git commit -m '描述信息' 提交并且给描述
git add .
git commit -m '描述信息'
git add .
git commit -m '描述信息'
git log 产看以前的版本号
git reset --hard asdfooiusdfsdfadf 返回到具体版本号
git reflog 查看往后的版本号
git reset --hard asdfooiusdfsdfadf 回滚到具体哪个版本
阶段二:
问题: 开发直播功能(一周开发完成),要紧急修复bug
解决方法一:(个人开发用的)
git stash 将当前工作区的修改过的代码暂存到某个地方中
按照原来代码继续开发...
git add .
git commit -m '修改完成'
git stash pop
- 不产生冲突
- 产生冲突,手动去解决
git stash 将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
git stash list 查看“某个地方”存储的所有记录
git stash clear 清空“某个地方”
git stash pop 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply 编号 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号 ,删除指定编号的记录
解决方法二:分支(用在协同开发上)
bug
master分支
dev分支
git branch dev 创建分支
git branch -d dev 删除分支
git checkout dev 跳转分支
git merge dev 分支合并
修复Bug流程:
git branch dev 创建
git checkout dev 跳转分支
# 写代码
git add . 全选提交
git commit -m 'xxx' 提交全部
git checkout master 跳转到到主分支
git branch bug 在master里面建分支成立的东西和master里面的一样
git chekcout bug 跳转的bug分支
# 修复bug
git add .
git commit -m '紧急修复bug'
git checkout master 跳转到master里面
git merge bug 把bug整合到master里面
git branch -d bug 删除bug
git checkout dev 跳转到dev继续开发
# 继续开发
阶段三:
云端需求一个存放代码的地方:
公共:
- github,做代码托管
- 码云,做代码托管
- csdn code,做代码托管
内部搭建:
- gitlab
家里:
git add .
git commit -m 'xx'
git remote add origin https://github.com/WuPeiqi/greenlu.git 放到github上
git push origin master 把数据推到云端
公司:
# 新公司第一次获取代码
git clone https://github.com/WuPeiqi/greenlu.git 第一次要克隆数据
git init 初始化
git remote add origin https://github.com/WuPeiqi/greenlu.git 获取网址
git pull origin master 从上面拉下数据
#第二种方法从上面拉下数据
git init 初始化
git remote add origin https://github.com/WuPeiqi/greenlu.git
git fetch origin master
git merge origin/master
# 日后
git pull origin master
git fetch origin master
git merge origin/master
# 本地修改问题,add,提交