2020/03/11 02-博文接口、Model类实现和迁移、URL配置
前面已经把最主要的业务完成了,把后端django的做完,就可以做前端的事情了,现在暴露的全是接口,像现在做的功能接口设计,这个就是restful风格接口设计,将这样的接口暴露给前端,让他们去调用,前段实际上是通过接口来调用你的模拟服务器,没有真正查数据库数据,就是写好的测试数据,一调用出结果,就是假数据,一测试OK,这个接口前端也就写好了
‘作为后端的话好说,可以用postman自己构造数据,然后连接,测试你view函数能否正确返回结果,前后端各自做各自的开发,最后一拼,再组联合的测试,这时候看功能是否完整的调用’
user写差不多了,现在要写post,写博客相关的了,增就是发布,改,跟发布没什么区别,改也需要先查后改,假删除是修改其中一个字段。
查具体一个文章,就是一个文字的detail,查询文章列表页l
现在设计接口,如何让别人增加一个文章,post
查需要id,这是第三种方式,在url已经把信息说清楚了,这是restful的url设计,也可以post /跟,get/跟,相当于联合主键,get/拿到数据,post/上传数据
get /id就拿指定id的文章,/就代表all
凡是修改就看是不是put方法,get方法拿一个和拿全部可以通过 url来区分,这一套接口设计就是restful风格
对应的方法和url,函数名就是我们要写的view函数,get所有就写/,函数名是getall写应用需要先创建应用 startapp post
准备迁移
迁移之前需要先建立model,用models下的Model构建模型。
创建id主键,title标题,postdate上传日期,作者需要是个外键,到user表上的user
点击foreignkey,后面还可以写
真正使用的字段名是什么,就需要观察
repr是必须写,还需要写个str,因为后台管理看不出来,需要把str也写上
还要内容表content,onetoonefield类似外键但是是一对一的,在这里的好处是,id不写会自己建一个,所以id故意不写
下面开始迁移
要在settings里加一下
再次迁移
这里就是生成的文件
content里有个onetoone的,一对一的关系,两边id是一摸一样
迁移一下,动词migrate
看post报表信息对不对
author这里进行了变化,外键关联到主键上了
自己链接到了主键id上,自己生成了author_id这样的key作为索引,提高效率
content没写id,就自增了一个
post也是onetoone
建立了一个外键约束,数据库其实支持有多的冗余字段,加了个id
下面配置一下路由,按照这里来配置
可以偷懒直接复制过去
django这里有点不好,都对应 跟,用哪个方法就区分不来,所以为什么要强制加个/pub的原因,也就是到了view里面做判断才去分,这一点没有flask灵活,flask可以直接在方法上配置路由,可以指定方法。同一个路径方法不同,可以调度到不同的view函数上去
d+是正则表达式,以数字开头数字结尾,因为id号都是整数
在view函数里写几个东西出来
在这里加上,这样就齐全了,路由配置了,model写好了,剩下就是写功能