- 博客(73)
- 收藏
- 关注
原创 ORM中常用的字段和参数,正反向概念
首先,在此之前我们先来回顾一下之前学习的orm内容1. django自带一个小型的sqlite3的小型数据库但是这个数据库的功能非常有限,并且针对日期类型的数据兼容性很差2. 切换数据库数据(MySQL)2.1 在django1.x版本中你需要在__init__.py文件中写入这样的配置2.2 在django2.x,3.x,4.x版本中只需要下载插件即可3. 定义模型类(在pycharm中创建表)MySQLint自增列,里面的参数要加上primary_Key=True字键。
2024-02-21 21:06:10
1111
原创 django请求生命周期流程图,路由匹配,路由有名无名反向解析,路由分发,名称空间
我们把总路由中的分配路由这句话单独拿出来看这句话的意思就是说1.总路由先拿到访问的地址的全部的后缀名,判断第一个后缀名是不是在这个项目中,2. 如果在那么他就会把app01/后面的后缀名传到app01的urls中3. app01的urls拿到总路由传来的后缀名再次判断该执行那个功能。
2024-02-20 21:43:54
1402
原创 python介绍,安装Cpython解释器,IDE工具pycharm的使用
官方的Python解释器本质是基于C语言开发的一个软件,该软件的功能就是读取以py.结尾的文件内容,然后按照Guido定义好的语法和规则去翻译并执行相应的代码。这种C实现的解释器被称为Cpython。python解释器的种类:Jython IPython PyPy IronPython。
2024-02-06 16:12:28
1079
原创 Django随笔
1. 在url中把 from django.contrib import admin 重新解开把path('admin/',admin.site.urls), 解开2. 注册app,在配置文件中写 'django.contrib.admin',
2024-01-20 14:32:59
1081
原创 props配置项,scoped样式,localStorage和sessionStorage
1 使用方式一props: ['msg'], # 基本用法,没有限制类型#2 使用方式二 中级用法,有限制类型props: {msg: {type: String, //类型},# 3 使用方式三:高级用法,有限制类型,限制是否必填,加默认值props: {msg: {type: String, //类型required: true, //必要性default: '老王' //默认值。
2024-01-17 14:40:31
796
原创 es6导入导出语法,vue-router简单使用,登录跳转案例,scoped的使用
只导出变量:export default name只导出函数:export default add导出对象:export default {name,add}name:"彭于晏",return a+b。
2024-01-14 19:26:30
1106
原创 ref属性(组件间通信),动态组件,插槽
ref属性放在普通标签上通过 this.$refs['myinput'] 拿到的是 原生dom对象操作dom对象:改值,换属性等2 ref属性放在 组件上。
2024-01-11 21:33:50
554
原创 vue-cli创建项目,vue项目目录介绍
first_vue #项目名-node_modules # 项目有很多依赖都放在这,等同python的 .venv文件夹,可以删掉,非常多小文件,复制很慢,如果没了,执行 cnpm install 就可以在装上,装完项目可以运行-public # 文件夹(一般不动)favicon.ico # 网站小图标index.html # spa:单页面应用---》整个vue项目其实就这一个html页面,以后都是组件切换-src # 开发重点,以后代码几乎都是写在这里。
2024-01-11 16:58:46
1074
原创 计算属性和监听属性,生命周期钩子,组件介绍
<h1>我是组件</h1><button @click="haneleClick">点我看美女</button><p>年龄是:{{ age }}</p>
2024-01-10 22:04:05
676
原创 vue购物车案例,v-model 之 lazy、number、trim,与后端交互
3 axios 第三方ajax,只有ajax,没有别的,小--》底层还是基于XMLHttpRequest。提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的一些具体部分。# 1 使用jq的ajax ===》不好---》引入了jq框架,好多功能用不到。number:数字开头,只保留数字,后面的字母不保留;lazy:等待input框的数据绑定时区焦点之后再变化。# 2 原生js fetch。trim:去除首位的空格。
2024-01-09 21:54:53
624
原创 vue列表渲染-v-for指令,vue事件处理,数据双向绑定,表单控制
stop:子标签上用只处理自己的事件,父控件冒泡的事件不处理(阻止事件冒泡)# 使用v-model绑定后,只要变量发生变化,页面就变化,只要页面变化,变量就变化。self:父签上用 ,只处理自己的事件,子控件冒泡的事件不处理。input 标签,使用 v-model 双向绑定。# v-model 指令,只针对于input标签。按键是个事件--》keyup keydown。-input: 只要输入内容就触发。-change :内容发生变化。-blur :失去焦点。-focus:得到焦点。
2024-01-09 20:24:37
746
原创 vue的插值语法,vue指令系统,style和class
官网:https://cn.vuejs.org/文档3:https://cn.vuejs.org/文档2:https://v2.cn.vuejs.org/
2024-01-06 12:40:40
521
原创 DjangoRestFramework概括
前后端开发模式:混合、分离API接口:地址、请求方法、请求参数、返回值测试软件的使用:postman、Apifox等序列化和反序列化restful规范:比如http响应状态码在Django中写符合规范的接口djangorestframework:django的app快速使用。
2023-12-29 20:50:59
702
原创 序列化类相关
views.py以上代码做序列化和反序列化都是自己写的,没有做数据校验。使用步骤:1 写个py文件,叫serializer.py (可以随便命名)2 写个类,继承serializers.Serializer3 在类中写要序列化的字段# 写字段,要序列化的字段4 在视图类中使用,完成 序列化-多条-ser.data 序列化后的数据-单条:-ser.data 序列化后的数据。
2023-12-25 16:56:35
750
原创 python面向对象类方法classmethod
类方法通过@classmethod装饰器实现,类方法和普通方法的区别是,类方法只能访问类变量,不能访问实例变量。
2023-12-24 23:20:30
413
原创 python面向对象继承
如果一个A类继承自另一个B类,就把这个A类称为B的子类,把B称为A的父类或者超类。继承可以使子类具有父类的各种属性和方法,而不再需要写相同的代码。在令子类继承父类的同时,可以重新定义某些属性和方法,使其获得与父类不同的功能,提高代码的复用性扩展性。
2023-12-24 22:55:19
459
原创 python面向对象封装
封装是指将功能模块化,比如,我们写了一个求和函数就是封装,函数使用者不需要了解函数内部是如何实现求和的,只需要调用我们写好的函数就行了。把很多数据封装到一个对象中,把固定功能的代码封装到一个代码块,将函数、对象打包成模块,这些都属于封装思想。
2023-12-24 21:04:07
417
原创 python面向对象静态方法
静态方法是类中的函数,通过@staticmethod装饰器实现,不需要实例。静态方法主要是用来存放逻辑性的代码,逻辑上属于类,但是本身和类没有关系,也就是说在静态方法中,不会涉及类中的属性和方法的操作。可以理解为,静态方法是个独立的单纯的函数,它不仅仅托管于某个类的名称空间中,便于使用和维护。
2023-12-24 19:18:26
439
原创 python面向对象反射
你会发现如果类中写上百种方法,那么if也要写上百种,这种代码很明显不行,这时候就可以使用反射。就是通过字符串的形式操作对象相关属性。再写一个简单的网页登录示例。
2023-12-21 22:05:38
446
原创 DjangoRestFramework(drf实现五个接口)
在前后端分离开发中,对于RESTfulAPI设置,我们一般需要将查询/更新数据以JSON方式进行返回,而Django本身所带的ORM,仅仅支持数据的查询,并不能将查询得到的数据转换为JSON/Python的字典易读格式,而DRF为我们提供了方便的序列化器自定义类,可以通过定义序列化类,方便的返回我们所需要的数据。序列化类可以做什么?序列化:ORM查询结果/对象 ---> 转换为Python原生数据类型/其他可读类型(如字典或列表)---> 便于转换JSON/其他传输格式反序列化。
2023-12-20 21:02:40
826
原创 Restful规范(概念)
在前后端分离的应用项目模式中,后端需要提供API接口,REST就是适用这种模式的API接口的设计风格。REST全称是Representational State Transfer,表征性状态转移。
2023-12-20 16:30:44
466
原创 Django的Auth模块
我们在创建好一个Django项目后执行数据库迁移命令会自动生成很多表其中有auth_user等表Django在启动之后就可以直接访问admin路由,需要输入用户名和密码,数据参考的就是auth_user表,并且必须是管理员才能进入依赖于auth_user表完成用户相关的所有功能创建超级用户(管理员)比对密码和用户名是否正确括号内必须同时传入用户名和密码保存用户状态。
2023-12-08 16:57:18
1095
原创 cookie和session
服务器保存在客户端浏览器上的信息都可以称为cookie。它的表现形式一般是kv键值对(可以有多个)# 操作cookie# 操作cookie# 操作cookie# 如果想要操作cookie,需要利用obj对象设置cookie获取cookie设置cookie的超时时间max_ageexpires (针对IE浏览器)两个都是以秒为单位主动删除cookie。
2023-12-06 16:46:08
773
原创 Django与Ajax
页面上有三个input框,前两个框输入数字,点击提交,朝后端发送ajax请求,后端计算出结果再返回给前端,动态展示到第三个input框中,整个页面不能刷新,也不能在前端计算。真正的ajax原生,需要使用js操作,jq的ajax方法是对原生js的封装,方便咱们使用。前后端分离项目中,我们会使用另一个第三方库,实现 js和后端异步交互(axios)3.form表单 -----》get请求、post请求。4.ajax -----》 get请求、post请求。2.a标签的href属性 -----》get请求。
2023-12-04 19:56:46
655
原创 Django路由分发
首先明白一点,Django的每一个应用下都可以有自己的templates文件夹,urls.py文件夹,static文件夹,基于这个特点,Django能够很好的做到分组开发(每个人只写自己的app),作为老大,就可以把每个人写的app全部拷贝到一个新的Django项目,然后在配置文件里面注册所有的app再利用路由分发的特点将所有app整合起来。当一个Django项目中的url特别多的时候,总路由urls.py代码非常冗余不好维护,这个时候也可以利用路由分发来减轻总路由的压力。每个应用下urls代码如下。
2023-11-29 22:52:10
863
原创 JsonResponse
除了以上用json模块实现,也可以用JsonResponse实现。进行一个操作,把字典转成JSON格式字符串,返回给页面。
2023-11-29 21:50:35
394
原创 CBV源码
本质在执行self.dispatch(request, *args, **kwargs)去类(MyLogin类中找,找不到,去父类View)中找dispatch。as_view()为入口。
2023-11-29 18:56:32
399
原创 Django请求生命周期流程
先经过网关接口,Django自带的是wsgiref,请求来的时候解析封装,响应走的时候打包处理,这个wsgiref模块本身能够支持的并发量很少,最多1000左右,上线之后会换成uwsgi,并且还会加nginx。往后就到Django框架了,先经过中间件,再到路由层做路由匹配和分发,然后到视图层,需要模版就在模板层取,需要数据就去模型层对数据库取数据,做一个渲染。最后返回经过路由层,中间件,网关,响应给浏览器。
2023-11-28 22:41:15
768
原创 HTTP相关
1、二进制传输(1.1 版本是通过文本进行传输,内容不能分开传递,2.0版本将请求的数据转换成二进制格式,然后标记索引,将数据包分成一片一片,相当于并发传输数据给到服务端)3、头部压缩 (多个请求中,可能会存在相同的请求头,于是在客户端和服务端维护一张静态表,通过索引来将多个请求中的请求字段合并,传递时,只需传递索引即可)1、会造成队头阻塞问题(虽然同一个TCP 可以同时发送多个请求,但是服务端还是会一个一个请求进行处理进行返回,如果上一个返回延迟,会阻塞后面的流程)
2023-11-28 18:50:55
739
原创 Django之ORM
ORM全称对象关系映射作用:通过python面向对象的代码简单快捷的操作数据库,但是封装程度太高,有时候sql语句的效率偏低,需要自己写sql语句类----->表对象--->记录对象属性--->记录某个字段对应的值写在models.py文件2.1 在terminal中输入命令: python manage.py makemigrations意思是将操作的记录记录到 migrations文件夹,在这文件夹下会多出一个文件。
2023-11-26 21:27:45
848
原创 pycharm的一些快捷键(慢更)
ctrl+alt+shift+单击鼠标:选择多个位置。ctrl+D: 复制当前行的代码到下一行。ctrl+/:注释单行。
2023-11-24 20:08:46
672
原创 杂七杂八的
Django默认用的MySQLdb模块链接MySQL,但是该模块的兼容性不好,需要手动改为用pymysql链接,你需要告诉Django不要用默认的mysqldb,而是用pymysql。Django连接MySQL。
2023-11-24 19:33:07
421
原创 中间件介绍
官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定的时间去执行这些方法。
2023-11-24 11:30:50
1580
原创 Django视图层
请求对象HttpRequest是由django为我们创建好的,直接使用即可,而响应对象则需要我们负责创建。我们编写的每个视图都应该返回一个HttpResponse对象,响应可以是一个网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。视图函数,简称视图,属于Django的视图层,默认定义在views.py文件中,是用来处理web请求信息以及返回响应信息的函数,所以研究视图函数只需熟练掌握两个对象即可:请求对象(HttpRequest)和响应对象(HttpResponse)
2023-11-23 18:47:43
563
原创 Django路由层
普通分组和命名分组都是为了获取路径中的参数,并传递给视图函数,区别在于普通分组是以位置参数的形式传递,命名分组是以关键字参数的形式传递。
2023-11-23 12:00:17
545
原创 Web框架与Django简介
在Python中我们可以使用别人开发的、功能更强大的Web框架,如django、tornado、flask等,三种区别如下1、django框架实现了上述功能1、2、3。django框架自定义了server(基于wsgiref+socketserver模块来实现),但这只是提供给开发测试使用的server,并不能在生产环境应用,生产环境部署django的server通常采用uwsgidjango自定义了视图系统,即实现了功能2django自定义了模板系统,即实现了功能32、tornado框架。
2023-11-23 09:46:30
787
原创 jQuery基础
each() 方法用来迭代jQuery对象中的每一个DOM元素。由于回调函数是在当前DOM元素为上下文的语境中触发的,所以关键字 this 总是指向这个元素。虽然都是属性,但他们所指的属性并不相同,attr所指的属性是HTML标签属性,而prop所指的是DOM对象属性,可以认为attr是显式的,而prop是隐式的。和 .position()的差别在于: .position()是相对于相对于父级元素的位移。这个函数是找出正在处理的元素的后代元素的好方法。如:$('#d1').html()
2023-11-06 16:29:06
58
原创 前端基础之JavaScript
JavaScript的对象(Object)本质上是键值对的集合(Hash结构),但是只能用字符串作为键。// 创建一个person对象// person对象的name属性// person对象的age属性。
2023-11-01 21:28:28
547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅