rest_frame、git
一、对rest api的认识
http://www.cnblogs.com/wupeiqi/articles/7805382.html
http://www.ruanyifeng.com/blog/2014/05/restful_api.html
原来web应用程序时,根据url不同定位到不同视图函数处理。 以前 10个表 就得40个url
rest是一种规范; 面向资源
http://api.luffycity.com/v1/users/
- 协议:
http
https
- 域名:
api.luffycity.com (跨域cors http://www.cnblogs.com/wupeiqi/articles/5703697.html)
www.luffycuty.com/api
- 版本:
- url中是名词
- 根据method不同执行不同的函数 get / post / delete / put / patch
- 返回状态码 200 成功 / 301 / 302 重定向 /404 找不到资源/ 500 服务器问题
- 错误信息:
{
msg:"用户名或密码错误"
}
- 返回值:
http://api.luffycity.com/v1/users
http://api.luffycity.com/v1/users/1
- 条件
http://api.luffycity.com/v1/users/?page=1&size=10
ps: 主键ID体现在URL上
- hyperlink
{
id:"老司机",
age:18,
group:"http://api.luffycity.com/v1/group/1/"
}
二、rest-framework视图里继承了哪些类?
from rest_framework.views import APIView
from rest_framework import viewsets
viewsets.ModelViewSet
mixins.CreateModelMixin,
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.DestroyModelMixin,
mixins.ListModelMixin,
GenericViewSet
model和对象序列化不同之处:many = true many=false
三、rest-framework哪些组件?
路由 视图 (as_view view disptach) 版本 认证 权限 频率 (反射)解析器(request.data) 序列化(数据是否合法,序列化,校验)
分页 渲染器(样式)
- 认证 / 权限 / 频率 / 序列化(序列化,校验)
- 看完源码,有什么体会,总结出,哪里不错,哪里设计的比较好。
- 知识:
-- 封装,认证。
-- 配置,中间件配置 //开放封闭原则;字符串 只要改配置就能生效;
- 问题:
代码。。。
报警功能; baojing 代码。。。
发送邮件 短信 微信提醒时, 编程思想;
配置,str 调用相关的模块 类
四、rest-framework哪些重要?
列表生成式 反射 面向对象 因为最近 再看restframework源码; cbv反射来做; 认证,封装。
五、rest-framework 版本?
http://www.cnblogs.com/wupeiqi/articles/7805382.html
- http://www.luffycity.com/api/v1/users
- http://www.luffycity.com/api/v2/users
url(r'^(?P<version>[v1|v2]+)/test/', TestView.as_view(), name='test'),
REST_FRAMEWORK = {
'DEFAULT_VERSION': 'v1', # 默认版本
'ALLOWED_VERSIONS': ['v1', 'v2'], # 允许的版本
'VERSION_PARAM': 'version' # URL中获取值的key
}
# 获取版本
print(request.version)
# 获取版本管理的类
print(request.versioning_scheme)
# 反向生成URL
reverse_url = request.versioning_scheme.reverse('test', request=request)
print(reverse_url)
(面试题) 1.谈谈你对 rest api的认识 http://www.cnblogs.com/wupeiqi/articles/7805382.html 原来web应用程序时,根据url不同定位到不同视图函数处理。 以前 10个表 就得40个url rest是一种规范; 面向资源 http://api.luffycity.com/v1/users/ - 协议: http https - 域名: api.luffycity.com www.luffycuty.com/api - 版本: - url中是名词 - 根据method不同执行不同的函数 get / post / delete / put / patch - 返回状态码 200 成功 / 301 / 302 重定向 /404 找不到资源/ 500 服务器问题 - 错误信息: { msg:"用户名或密码错误" } - 返回值: http://api.luffycity.com/v1/users http://api.luffycity.com/v1/users/1 - 条件 http://api.luffycity.com/v1/users/?page=1&size=10 ps: 主键ID体现在URL上 - hyperlink { id:"老司机", age:18, group:"http://api.luffycity.com/v1/group/1/" } 2. rest-framework视图里继承了哪些类? model和对象序列化不同之处:many = true many=false 3. django rest framework 都有哪些组件 - 10个组件 按顺序来说: 10个组件 。。 路由 视图 (as_view view disptach) 版本 认证 权限 频率 (反射)解析器(request.data) 序列化(数据是否合法,序列化,校验) 分页 渲染器(样式) - 认证 / 权限 / 频率 / 序列化(序列化,校验) - 看完源码,有什么体会,总结出,哪里不错,哪里设计的比较好。 - 知识: -- 封装,认证。 -- 配置,中间件配置 //开放封闭原则;字符串 只要改配置就能生效; - 问题: 代码。。。 报警功能; baojing 代码。。。 发送邮件 短信 微信提醒时, 编程思想; 配置,str 调用相关的模块 类 4. 谈谈你觉得 哪些比较重要 列表生成式 反射 面向对象 因为最近 再看restframework源码; cbv反射来做; 认证,封装。 5.版本: http://www.cnblogs.com/wupeiqi/articles/7805382.html - http://www.luffycity.com/api/v1/users - http://www.luffycity.com/api/v2/users url(r'^(?P<version>[v1|v2]+)/test/', TestView.as_view(), name='test'), REST_FRAMEWORK = { 'DEFAULT_VERSION': 'v1', # 默认版本 'ALLOWED_VERSIONS': ['v1', 'v2'], # 允许的版本 'VERSION_PARAM': 'version' # URL中获取值的key } # 获取版本 print(request.version) # 获取版本管理的类 print(request.versioning_scheme) # 反向生成URL reverse_url = request.versioning_scheme.reverse('test', request=request) print(reverse_url) --------------- 今日内容: 1.ContentType 2.CORS 3.Git -------------- 内容详细: 1.ContentType 背景:专题课,学位课,价格策略 问题:设计表结构 。。。 2.CORS 。。 http://www.cnblogs.com/wupeiqi/articles/5703697.html - rest api 10条规范 - rest framework 10个组件 - contenttype - cors jsonp - 响应头 - 简单和复杂请求
六、git
1.如何进行协同开发?
为每个人创建一个分支,合并到dev。有冲突,就要解决冲突;继续提交;
master
dev
review(组长做代码的review)
alice
xxx
2.公司出现bug怎么办?
创建一个bug分支,在bug分支上进行修复,修复完成后合并到master上。
3.git rebase 作用?
rebase: 合并,将提交记录提交到一条主线上,记录更加整洁。
产生冲突:
合并
解决冲突
git rebase --skip
merge: 至少两条线上,保留每次提交的记录。
4.协同开发,三种方法
- 项目合作者
- 创建组织,邀请成员
贡献代码:
- fork (pull request)
合作者 组织 fork (new pull request)
1.git作用: 版本控制 2.git命令: git init git add . git status git log git reflog git reset --hard git commit -m "xxx" git checkout