django学习笔记

01 | 请求和响应

request --> urls (请求使用urls来做的)(path)
response --> views (响应使用response来做的,HttpResponse,TemplateResponse)

02 | 路由分层

urls文件
在这里插入图片描述
其实这个路由就是
在这里插入图片描述
结尾一般用 “/” 结尾

父子路由

另外还可以定制父子路由,是一种顺接关系
在这里插入图片描述
父路由如下
在这里插入图片描述
include里面第一个参数说明这个url跳转到哪里,而first_app_urls是导入包在这里插入图片描述
因此会跳转至
在这里插入图片描述
而这个子路由的访问地址在这里插入图片描述
因为子路由是一个空字符串
如果想要传这种网址的话在这里插入图片描述
可以使用下面的写法
在这里插入图片描述
说明就是这个num是int类型
那么这个127.0.0.1:2000/test/1/?v=2这个2 是在哪里拿到呢?
其实是在request里的GET中的一个QueryDict中
在这里插入图片描述
那怎么拿呢?这样就可以了
在这里插入图片描述

03 | 静态文件

(只适用在前后端不分离的情况)
首先创建一个templates文件夹,存放前端的文件,也就是模板渲染文件(HTML,CSS,JS,等)
推荐在app中创建 ,因为这样就可以一个app一个模板文件,如果项目不要了,我们也不需要模板的渲染了,这样更可靠。
在这里插入图片描述

04 | 视图

(共有5种)
在这里插入图片描述
一般来说会先写增删改查中的

ListView

其实ListView(TemplatesView)是继承了TemplatesView,所以 需要继承模板

用一个小项目来熟悉把~
要实现增删改查先实现models,也就是这个文件
在这里插入图片描述
在里面编写如下函数
在这里插入图片描述
现在进行解读
在这里插入图片描述
而这个choices参数表明,在有限的元素中,用一个元组表示
在这里插入图片描述
元组的第一个值是内部存储的值,第二个参数是前台展示的值
后面再这个views文件中输入以下内容
在这里插入图片描述
在这个PersonList中,model表示到哪一个model类中,template_name表示渲染到哪一个模板文件

Model 与QuerySet

在这里插入图片描述

  • 数据库就像是一个仓库,存储着货物
  • Model像是仓库的设计图,或者理解成和数据库的一种映射关系
  • instance像是实例,存储数据
  • QuerySet就是一件一件包裹,包裹里面可能会有多个数据,一个数据,或者没有数据。就像是列表对象一样,可索引,切片,in方法

而数据库中的字段也就是这个models类中会有以下字段
在这里插入图片描述
字符,整型,浮点型,日期类型,外键,一对一,多对多,还有一对多的,等等(具体看官网)
以下是一些补充:
在这里插入图片描述
还有
bulk_create()批量创建(比for循环使用creat效率要高)
orderby()等等
。。。。

存数据

新建一条数据,存到数据库中可以这么写
在这里插入图片描述
p是一个实例化对象
p.save()才是与数据库的交互

查数据

两种方法
在这里插入图片描述
filter()和get()这两个方法都可以
区别:
filter()就是可以过滤掉其他的,只获取正确的数据,可以返回空,一个或者多个,查出来的是一个QuerySet
get()建议和try使用,因为get不到的数据会报错,get到多条也会报错,查出来的是一个instance

更新

一条

单一的改
在这里插入图片描述

在这里插入图片描述

多条

另外可以使用updata方法,多条修改
在这里插入图片描述

删除

在这里插入图片描述
ps是之前过滤出来的一些QuerySet,这里对他们进行删除

DetailView

DetailView和ListView不同就是
Detail获取到某一条数据ListView获取到一个表的内容或者是一个表的一部分内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值