04 2022 档案

摘要:class ImageField(FileField): :继承了FileField类在里面把地址+路径+图片拼接了 阅读全文
posted @ 2022-04-15 21:02 咖喱给给啊 编辑
摘要:全局锁: 这个一般是为了同步更新数据用的,既然是同步更新,就不能在同步的时候,有其他的操作。 开启全局锁 flush tables with read lock ; 数据备份 mysqldump -uroot –p1234 itcast > itcast.sql 释放锁 unlock tables 阅读全文
posted @ 2022-04-12 00:49 咖喱给给啊 编辑
摘要:删除文档的语法结构: db.集合名称.remove(条件) 以下语句可以将数据全部删除,请慎用 db.comment.remove({}) 如果删除_id=1的记录,输入以下语句 db.comment.remove({_id:"1"}) 阅读全文
posted @ 2022-04-10 03:17 咖喱给给啊 编辑
摘要:覆盖的修改 如果我们想修改_id为1的记录,点赞量为1001,输入以下语句: db.comment.update({_id:"1"},{likenum:NumberInt(1001)}) 执行后,我们会发现,这条文档除了likenum字段其它字段都不见了, 局部修改 为了解决这个问题,我们需要使用修 阅读全文
posted @ 2022-04-10 03:16 咖喱给给啊 编辑
摘要:查询数据的语法格式如下: 查询所有 db.comment.find() db.comment.find({}) 条件查询 db.comment.find({userid:'1003'}) 条件的第一条数据 db.comment.findOne({userid:'1003'}) 投影查询 如果要查询结 阅读全文
posted @ 2022-04-10 03:08 咖喱给给啊 编辑
摘要:文档(document)的数据结构和 JSON 基本一样。 所有存储在集合中的数据都是 BSON 格式。 文档的插入 单个文档插入 使用insert() 或 save() 方法向集合中插入文档,语法如下: db.collection.insert( <document or array of doc 阅读全文
posted @ 2022-04-10 03:02 咖喱给给啊 编辑
摘要:基本语法格式: db.createCollection(name) 参数说明: name: 要创建的集合名称 例如:创建一个名为 mycollection 的普通集合。 db.createCollection("mycollection") 查看当前库中的表:show tables命令 show c 阅读全文
posted @ 2022-04-10 02:47 咖喱给给啊 编辑
摘要:选择和创建数据库的语法格式: use 数据库名称 如果数据库不存在则自动创建,例如,以下语句创建 spitdb 数据库: use dss 查看有权限查看的所有的数据库命令 show dbs 或show databases 查看当前正在使用的数据库命令 db MongoDB 中默认的数据库为 test 阅读全文
posted @ 2022-04-10 02:38 咖喱给给啊 编辑
摘要:查看已经有的数据库 show databases show dbs 退出mongodb exit 更多参数可以通过帮助查看: mongo --help 停止关闭服务 停止服务的方式有两种:快速关闭和标准关闭,下面依次说明: (一)快速关闭方法(快速,简单,数据可能会出错) 目标:通过系统的kill命 阅读全文
posted @ 2022-04-10 02:24 咖喱给给啊 编辑
摘要:在命令提示符输入以下shell命令即可完成登陆 mongo 或mongo --host=127.0.0.1 --port=27017 阅读全文
posted @ 2022-04-10 02:12 咖喱给给啊 编辑
摘要:将压缩包解压到一个目录中。 在解压目录中,手动建立一个目录用于存放数据文件,如 data/db 方式1:命令行参数方式启动服务 在 bin 目录中打开命令行提示符,输入如下命令: mongod --dbpath=..\data\db 配置文件方式启动服务 在解压目录中新建 config 文件夹,该文 阅读全文
posted @ 2022-04-10 00:11 咖喱给给啊 编辑
摘要: 阅读全文
posted @ 2022-04-09 23:16 咖喱给给啊 编辑
摘要: 阅读全文
posted @ 2022-04-09 23:04 咖喱给给啊 编辑
摘要:EXPLAIN 或者 DESC命令获取 MySQL 如何执行 SELECT 语句的信息,包括在 SELECT 语句执行 过程中表如何连接和连接的顺序。 语法: -- 直接在select语句之前加上关键字 explain / desc EXPLAIN SELECT 字段列表 FROM 表名 WHERE 阅读全文
posted @ 2022-04-09 22:23 咖喱给给啊 编辑
摘要:show profiles 能够在做SQL优化时帮助我们了解时间都耗费到哪里去了。通过have_profiling 参数,能够看到当前MySQL是否支持profile操作: SELECT @@have_profiling ; 可以看到,当前MySQL是支持 profile操作的,但是开关是关闭的。可 阅读全文
posted @ 2022-04-09 22:20 咖喱给给啊 编辑
摘要:慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有 SQL语句的日志。 MySQL的慢查询日志默认没有开启,我们可以查看一下系统变量 slow_query_log。 配置完毕之后,通过以下指令重新启动MySQL服务器进行测试,查看慢日志文件中记录的 阅读全文
posted @ 2022-04-09 22:01 咖喱给给啊 编辑
摘要:SQL执行频率查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次: -- session 是查看当前会话 ; -- global 是查询全局数据 ; SHOW GLOBAL STATUS LIKE 'Com_______'; 1 阅读全文
posted @ 2022-04-09 21:45 咖喱给给啊 编辑
摘要:创建索引 CREATE [ UNIQUE | FULLTEXT ] INDEX index_name ON table_name ( index_col_name,... ) ; 查看索引 SHOW INDEX FROM table_name ; 删除索引 DROP INDEX index_name 阅读全文
posted @ 2022-04-09 21:43 咖喱给给啊 编辑
摘要:在MySQL数据库,将索引的具体类型主要分为以下几类:主键索引、唯一索引、常规索引、全文索引。 聚集索引&二级索引 而在在InnoDB存储引擎中,根据索引的存储形式,又可以分为以下两种: 聚集索引选取规则: 如果存在主键,主键索引就是聚集索引。 如果不存在主键,将使用第一个唯一(UNIQUE)索引作 阅读全文
posted @ 2022-04-09 21:39 咖喱给给啊 编辑
摘要:MySQL索引数据结构对经典的B+Tree进行了优化。在原B+Tree的基础上,增加一个指向相邻叶子节点 的链表指针,就形成了带有顺序指针的B+Tree,提高区间访问的性能,利于排序。 A. 相对于二叉树,层级更少,搜索效率高; B. 对于B-tree,无论是叶子节点还是非叶子节点,都会保存数据,这 阅读全文
posted @ 2022-04-09 21:29 咖喱给给啊 编辑
摘要:MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的索引结构,主要包含以下几种: 上述是MySQL中所支持的所有的索引结构,接下来,我们再来看看不同的存储引擎对于索引结构的支持 情况。 注意: 我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的索引。 阅读全文
posted @ 2022-04-09 21:21 咖喱给给啊 编辑
摘要:无索引情况 在无索引情况下,就需要从第一行开始扫描,一直扫描到最后一行,我们称之为 全表扫描,性能很 低。 有索引情况 如果我们针对于这张表建立了索引,假设索引结构就是二叉树,那么也就意味着,会对age这个字段建 立一个二叉树的索引结构。 此时我们在进行查询时,只需要扫描三次就可以找到数据了,极大的 阅读全文
posted @ 2022-04-09 21:19 咖喱给给啊 编辑
摘要: 阅读全文
posted @ 2022-04-09 21:15 咖喱给给啊 编辑
摘要:赃读:一个事务读到另外一个事务还没有提交的数据。 不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读。 幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据 已经存在,好像出现了 "幻影"。 事务隔离级别 查看事务隔离级别 SELECT @ 阅读全文
posted @ 2022-04-09 21:14 咖喱给给啊 编辑
摘要:# 前端混合开发缓存的使用 -缓存的位置,通过配置文件来操作(以文件为例) -缓存的粒度: -全站缓存 中间件 MIDDLEWARE = [ 'django.middleware.cache.UpdateCacheMiddleware', 。。。。 'django.middleware.cache. 阅读全文
posted @ 2022-04-08 02:06 咖喱给给啊 编辑
摘要:# jwt的配置 import datetime JWT_AUTH={ 'JWT_RESPONSE_PAYLOAD_HANDLER':'app02.utils.my_jwt_response_payload_handler', 'JWT_EXPIRATION_DELTA': datetime.tim 阅读全文
posted @ 2022-04-08 02:05 咖喱给给啊 编辑
摘要:# RBAC :是基于角色的访问控制(Role-Based Access Control ),公司内部系统 # django的auth就是内置了一套基于RBAC的权限系统 # django中 # 后台的权限控制(公司内部系统,crm,erp,协同平台) user表 permssion表 group表 阅读全文
posted @ 2022-04-08 02:05 咖喱给给啊 编辑
摘要:# 3 自定义基于jwt的权限类 from rest_framework.authentication import BaseAuthentication # 基于它 from rest_framework_jwt.authentication import BaseJSONWebTokenAuth 阅读全文
posted @ 2022-04-08 02:04 咖喱给给啊 编辑
摘要:# 使用用户名,手机号,邮箱,都可以登录# # 前端需要传的数据格式 { "username":"lqz/1332323223/33@qq.com", "password":"lqz12345" } # 视图 from rest_framework.views import APIView from 阅读全文
posted @ 2022-04-08 02:04 咖喱给给啊 编辑
摘要:-第一种方案,自己写登录接口 -第二种写法,用内置,控制登录接口返回的数据格式 -jwt的配置信息中有这个属性 'JWT_RESPONSE_PAYLOAD_HANDLER': 'rest_framework_jwt.utils.jwt_response_payload_handler', -重写jw 阅读全文
posted @ 2022-04-08 02:02 咖喱给给啊 编辑
摘要:# 1 控制用户登录后才能访问,和不登录就能访问 from rest_framework.permissions import IsAuthenticated class OrderAPIView(APIView):# 登录才能 authentication_classes = [JSONWebTo 阅读全文
posted @ 2022-04-08 01:54 咖喱给给啊 编辑
摘要:from rest_framework_jwt.authentication import BaseAuthentication,BaseJSONWebTokenAuthentication from rest_framework.exceptions import AuthenticationFa 阅读全文
posted @ 2022-04-08 01:49 咖喱给给啊 编辑
摘要:jwt=Json Web token #原理 """ 1)jwt分三段式:头.体.签名 (head.payload.sgin) 2)头和体是可逆加密,让服务器可以反解出user对象;签名是不可逆加密,保证整个token的安全性的 3)头体签名三部分,都是采用json格式的字符串,进行加密,可逆加密一 阅读全文
posted @ 2022-04-08 01:47 咖喱给给啊 编辑
摘要:# 1 安装:pip install coreapi # 2 在路由中配置 from rest_framework.documentation import include_docs_urls urlpatterns = [ ... path('docs/', include_docs_urls(t 阅读全文
posted @ 2022-04-08 01:46 咖喱给给啊 编辑
摘要:# 写一个类,继承SimpleRateThrottle,只需要重写get_cache_key from rest_framework.throttling import ScopedRateThrottle,SimpleRateThrottle #继承SimpleRateThrottle class 阅读全文
posted @ 2022-04-08 01:45 咖喱给给啊 编辑
摘要:# 自定制频率类,需要写两个方法 -# 判断是否限次:没有限次可以请求True,限次了不可以请求False def allow_request(self, request, view): -# 限次后调用,显示还需等待多长时间才能再访问,返回等待的时间seconds def wait(self): 阅读全文
posted @ 2022-04-08 01:45 咖喱给给啊 编辑
摘要:# urls.py from django.urls import path,re_path from api import views urlpatterns = [ path('books/', views.BookAPIView.as_view()), re_path('books/(?P<p 阅读全文
posted @ 2022-04-08 01:43 咖喱给给啊 编辑
摘要:#views.py # 查所有,才需要分页 from rest_framework.generics import ListAPIView # 内置三种分页方式 from rest_framework.pagination import PageNumberPagination,LimitOffse 阅读全文
posted @ 2022-04-08 01:43 咖喱给给啊 编辑
摘要:class APIResponse(Response): def __init__(self,code=100,msg='成功',data=None,status=None,headers=None,**kwargs): dic = {'code': code, 'msg': msg} if dat 阅读全文
posted @ 2022-04-06 18:13 咖喱给给啊 编辑
摘要:开启事务: start transaction; 开启事务后需要手动提交,没有提交的话数据库中表的数据不会发生变化, 虽然表里的数据没有变化,但是其实数据已经写入了,只是没有提交, BEGIN;UPDATE `test` SET `name` = "1"; 开始事务执行了这条sql,执行完毕后 数据 阅读全文
posted @ 2022-04-06 18:12 咖喱给给啊 编辑
摘要:#统一接口返回 # 自定义异常方法,替换掉全局 # 写一个方法 # 自定义异常处理的方法 from rest_framework.views import exception_handler from rest_framework.response import Response from rest 阅读全文
posted @ 2022-04-06 03:14 咖喱给给啊 编辑
摘要:from rest_framework.generics import ListAPIView from rest_framework.filters import OrderingFilter from app01.models import Book from app01.ser import 阅读全文
posted @ 2022-04-06 03:10 咖喱给给啊 编辑
摘要:#1 安装:pip3 install #2 注册,在app中注册 #3 全局配,或者局部配 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',) #4 视图类 class BookView( 阅读全文
posted @ 2022-04-06 03:09 咖喱给给啊 编辑
摘要:# 全局使用 限制未登录用户1分钟访问5次 REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSES': ( 'rest_framework.throttling.AnonRateThrottle', ), 'DEFAULT_THROTTLE_RATES': { 'a 阅读全文
posted @ 2022-04-06 03:08 咖喱给给啊 编辑
摘要:# 需求:未登录用户1分钟访问5次,登录用户一分钟访问10次 全局:在setting中 'DEFAULT_THROTTLE_CLASSES': ( 'rest_framework.throttling.AnonRateThrottle', 'rest_framework.throttling.Use 阅读全文
posted @ 2022-04-06 03:08 咖喱给给啊 编辑
摘要:# 演示一下内置权限的使用:IsAdminUser,控制是否对网站后台有权限的人 # 1 创建超级管理员 # 2 写一个测试视图类 from rest_framework.permissions import IsAdminUser from rest_framework.authenticatio 阅读全文
posted @ 2022-04-06 03:03 咖喱给给啊 编辑
摘要:APIView >dispatch >initial >self.check_permissions(request)(APIView的对象方法) def check_permissions(self, request): # 遍历权限对象列表得到一个个权限对象(权限器),进行权限认证 for pe 阅读全文
posted @ 2022-04-06 02:58 咖喱给给啊 编辑
摘要:# 写一个认证类 app_auth.py from rest_framework.authentication import BaseAuthentication from rest_framework.exceptions import AuthenticationFailed from app0 阅读全文
posted @ 2022-04-06 02:56 咖喱给给啊 编辑
摘要:# 认证的实现 1 写一个类,继承BaseAuthentication,重写authenticate,认证的逻辑写在里面,认证通过,返回两个值,一个值最终给了Requet对象的user,认证失败,抛异常:APIException或者AuthenticationFailed 2 全局使用,局部使用 ` 阅读全文
posted @ 2022-04-06 02:54 咖喱给给啊 编辑
摘要:# action干什么用?为了给继承自ModelViewSet的视图类中定义的函数也添加路由 # 使用 class BookViewSet(ModelViewSet): queryset =Book.objects.all() serializer_class = BookSerializer # 阅读全文
posted @ 2022-04-06 02:52 咖喱给给啊 编辑
摘要:# 1 在urls.py中配置 path('books4/', views.Book4View.as_view()), re_path('books4/(?P<pk>\d+)', views.Book4DetailView.as_view()), # 2 一旦视图类,继承了ViewSetMixin, 阅读全文
posted @ 2022-04-06 02:51 咖喱给给啊 编辑
摘要:from rest_framework.viewsets import ViewSetMixin class Book6View(ViewSetMixin,APIView): #一定要放在APIVIew前 def get_all_book(self,request): print("xxxx") b 阅读全文
posted @ 2022-04-06 02:47 咖喱给给啊 编辑
摘要:from rest_framework.viewsets import ModelViewSet class Book5View(ModelViewSet): #5个接口都有,但是路由有点问题 queryset = Book.objects serializer_class = BookSerial 阅读全文
posted @ 2022-04-06 02:46 咖喱给给啊 编辑
摘要:from rest_framework.mixins import ListModelMixin,CreateModelMixin,UpdateModelMixin,DestroyModelMixin,RetrieveModelMixin # views.py class Book3View(Gen 阅读全文
posted @ 2022-04-06 02:45 咖喱给给啊 编辑
摘要:# views.py class Book2View(GenericAPIView): #queryset要传queryset对象,查询了所有的图书 # serializer_class使用哪个序列化类来序列化这堆数据 queryset=Book.objects # queryset=Book.ob 阅读全文
posted @ 2022-04-06 02:44 咖喱给给啊 编辑
摘要:#### views.py from rest_framework.generics import GenericAPIView from app01.models import Book from app01.ser import BookSerializer # 基于APIView写的 clas 阅读全文
posted @ 2022-04-06 02:42 咖喱给给啊 编辑
摘要:#from rest_framework.response import Response def __init__(self, data=None, status=None, template_name=None, headers=None, exception=False, content_ty 阅读全文
posted @ 2022-04-06 02:40 咖喱给给啊 编辑
摘要:# 请求对象 # from rest_framework.request import Request def __init__(self, request, parsers=None, authenticators=None, negotiator=None, parser_context=Non 阅读全文
posted @ 2022-04-06 02:38 咖喱给给啊 编辑
摘要:```python # source的使用 1 可以改字段名字 xxx=serializers.CharField(source='title') 2 可以.跨表publish=serializers.CharField(source='publish.email') 3 可以执行方法pub_dat 阅读全文
posted @ 2022-04-06 02:34 咖喱给给啊 编辑
摘要:class BookView(APIView): def delete(self,request,pk): ret=Book.objects.filter(pk=pk).delete() return Response({'status':100,'msg':'删除成功'}) # urls.py r 阅读全文
posted @ 2022-04-06 02:33 咖喱给给啊 编辑
摘要:class BookModelSerializer(serializers.ModelSerializer): class Meta: model=Book # 对应上models.py中的模型 fields='__all__' # fields=('name','price','id','auth 阅读全文
posted @ 2022-04-06 02:33 咖喱给给啊 编辑
摘要:class BooksView(APIView): def get(self,request): response_msg = {'status': 100, 'msg': '成功'} books=Book.objects.all() book_ser=BookSerializer(books,ma 阅读全文
posted @ 2022-04-06 02:31 咖喱给给啊 编辑
摘要:class BooksView(APIView): # 新增 def post(self,request): response_msg = {'status': 100, 'msg': '成功'} #修改才有instance,新增没有instance,只有data book_ser = *BookS 阅读全文
posted @ 2022-04-06 02:31 咖喱给给啊 编辑
摘要:```python 1 写一个序列化的类,继承Serializer 2 在类中写要反序列化的字段,想反序列化哪个字段,就在类中写哪个字段,字段的属性(max_lenth......) max_length 最大长度 min_lenght 最小长度 allow_blank 是否允许为空 trim_wh 阅读全文
posted @ 2022-04-06 02:30 咖喱给给啊 编辑
摘要:```python 有很多,不需要都记住 只需要记住:CharField,IntegerField,DateField。。。 ``` 阅读全文
posted @ 2022-04-06 02:26 咖喱给给啊 编辑
摘要:```python 1 写一个序列化的类,继承Serializer 2 在类中写要序列化的字段,想序列化哪个字段,就在类中写哪个字段 3 在视图类中使用,导入--》实例化得到序列化类的对象,把要序列化的对象传入 4 序列化类的对象.data 是一个字典 5 把字典返回,如果不使用rest_frame 阅读全文
posted @ 2022-04-06 02:25 咖喱给给啊 编辑
摘要:1 写一个序列化的类,继承Serializer 2 在类中写要反序列化的字段,想反序列化哪个字段,就在类中写哪个字段,字段的属性(max_lenth......) max_length 最大长度 min_lenght 最小长度 allow_blank 是否允许为空 trim_whitespace 是 阅读全文
posted @ 2022-04-06 02:05 咖喱给给啊 编辑
摘要:# 局部钩子 def validate_price(self, data): # validate_字段名 接收一个参数 #如果价格小于10,就校验不通过 # print(type(data)) # print(data) if float(data)>10: return data else: # 阅读全文
posted @ 2022-04-06 02:04 咖喱给给啊 编辑
摘要:read_only 表明该字段仅用于序列化输出,默认False,如果设置成True,postman中可以看到该字段,修改时,不需要传该字段 write_only 表明该字段仅用于反序列化输入,默认False,如果设置成True,postman中看不到该字段,修改时,该字段需要传 # 以下的了解 re 阅读全文
posted @ 2022-04-06 01:52 咖喱给给啊 编辑
摘要:# 10条规范 1 数据的安全保障:url链接一般都采用https协议进行传输 注:采用https协议,可以提高数据交互过程中的安全性 2 接口特征表现,一看就知道是个api接口 - 用api关键字标识接口url: - [https://api.baidu.com](https://api.baid 阅读全文
posted @ 2022-04-06 01:47 咖喱给给啊 编辑
摘要:sqlite3: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', #'NAME': BASE_DIR / 'db.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlit 阅读全文
posted @ 2022-04-05 20:10 咖喱给给啊 编辑
摘要:CASCADE:这就是默认的选项,级联删除,你无需显性指定它。 PROTECT: 保护模式,如果采用该选项,删除的时候,会抛出ProtectedError错误。 SET_NULL: 置空模式,删除的时候,外键字段被设置为空,前提就是blank=True, null=True,定义该字段的时候,允许为 阅读全文
posted @ 2022-04-05 19:56 咖喱给给啊 编辑
摘要:""" 由于django自带的sqlite数据库对日期不敏感,所以我们换成MySQL """ from django.db import models # Create your models here. """ 先写普通字段 之后再写外键字段 """ from django.contrib.aut 阅读全文
posted @ 2022-04-05 19:46 咖喱给给啊 编辑
摘要:from django.db import models from django.contrib.auth.models import User,AbstractUser # Create your models here. # 第一种:一对一关系 不推荐 # class UserDetail(mo 阅读全文
posted @ 2022-04-05 19:41 咖喱给给啊 编辑
摘要:from django.shortcuts import render,redirect,HttpResponse from django.contrib import auth # Create your views here. from django.contrib.auth.decorator 阅读全文
posted @ 2022-04-05 19:13 咖喱给给啊 编辑
摘要:""" 其实我们在创建好一个django项目之后直接执行数据库迁移命令会自动生成很多表 django_session auth_user django在启动之后就可以直接访问admin路由,需要输入用户名和密码,数据参考的就是auth_user表,并且还必须是管理员用户才能进入 创建超级用户(管理员 阅读全文
posted @ 2022-04-05 18:37 咖喱给给啊 编辑
摘要:from django.views.decorators.csrf import csrf_protect,csrf_exempt from django.utils.decorators import method_decorator """ csrf_protect 需要校验 针对csrf_pr 阅读全文
posted @ 2022-04-05 16:50 咖喱给给啊 编辑
摘要:在静态文件夹中建一个js文件 内容: function getCookie(name) { var cookieValue = null; if (document.cookie && document.cookie !== '') { var cookies = document.cookie.s 阅读全文
posted @ 2022-04-05 16:39 咖喱给给啊 编辑
摘要:一些细节: 使用process_template_response的时候 需要在视图中这样写,这个东西你自己是想不到的,这个是别人规定好的,不是逻辑问题,是语法问题 def index(request): print('我是视图函数index') obj = HttpResponse('index' 阅读全文
posted @ 2022-04-05 16:18 咖喱给给啊 编辑
摘要:from django.views import View from django.utils.decorators import method_decorator """ CBV中django不建议你直接给类的方法加装饰器 无论该装饰器能都正常给你 都不建议直接加 """ # @method_de 阅读全文
posted @ 2022-04-05 05:36 咖喱给给啊 编辑
摘要:""" session数据是保存在服务端的(存?),给客户端返回的是一个随机字符串 sessionid:随机字符串 1.在默认情况下操作session的时候需要django默认的一张django_session表 数据库迁移命令 django会自己创建很多表 django_session就是其中的一 阅读全文
posted @ 2022-04-05 05:35 咖喱给给啊 编辑
摘要:""" 发展史 1.网站都没有保存用户功能的需求 所有用户访问返回的结果都是一样的 eg:新闻、博客、文章... 2.出现了一些需要保存用户信息的网站 eg:淘宝、支付宝、京东... 以登陆功能为例:如果不保存用户登陆状态 也就意味着用户每次访问网站都需要重复的输入用户名和密码(你觉得这样的网站你还 阅读全文
posted @ 2022-04-05 05:34 咖喱给给啊 编辑
摘要:# 虽然cookie是服务端告诉客户端浏览器需要保存内容 # 但是客户端浏览器可以选择拒绝保存 如果禁止了 那么 只要是需要记录用户状态的网站登陆功能都无法使用了 # 视图函数的返回值 return HttpResponse() return render() return redirect() o 阅读全文
posted @ 2022-04-05 05:34 咖喱给给啊 编辑
摘要:```python label 字段名 error_messages 自定义报错信息 initial 默认值 required 控制字段是否必填 """ 1.字段没有样式 2.针对不同类型的input如何修改 text password date radio checkbox ... """ wid 阅读全文
posted @ 2022-04-05 05:05 咖喱给给啊 编辑
摘要:""" 在特定的节点自动触发完成响应操作 钩子函数在forms组件中就类似于第二道关卡,能够让我们自定义校验规则 在forms组件中有两类钩子 1.局部钩子 当你需要给单个字段增加校验规则的时候可以使用 2.全局钩子 当你需要给多个字段增加校验规则的时候可以使用 """ # 实际案例 # 1.校验用 阅读全文
posted @ 2022-04-05 05:04 咖喱给给啊 编辑
摘要:""" 浏览器会自动帮你校验数据 但是前端的校验弱不禁风 如何让浏览器不做校验 <form action="" method="post" novalidate> """ def index(request): # 1 先产生一个空对象 form_obj = MyForm() if request. 阅读全文
posted @ 2022-04-05 05:03 咖喱给给啊 编辑
摘要:""" forms组件只会自动帮你渲染获取用户输入的标签(input select radio checkbox) 不能帮你渲染提交按钮 """ def index(request): # 1 先产生一个空对象 form_obj = MyForm() # 2 直接将该空对象传递给html页面 ret 阅读全文
posted @ 2022-04-05 05:02 咖喱给给啊 编辑
摘要:from django import forms class MyForm(forms.Form): # username字符串类型最小3位最大8位 username = forms.CharField(min_length=3,max_length=8) # password字符串类型最小3位最大 阅读全文
posted @ 2022-04-05 05:01 咖喱给给啊 编辑
摘要:""" 总数据100 每页展示10 需要10 总数据101 每页展示10 需要11 总数据99 每页展示10 需要10 如何通过代码动态的计算出到底需要多少页? 在制作页码个数的时候 一般情况下都是奇数个 符合中国人对称美的标准 """ # 分页 book_list = models.Book.ob 阅读全文
posted @ 2022-04-05 04:48 咖喱给给啊 编辑
摘要:# 先给Book插入一万条数据 # for i in range(10000): # models.Book.objects.create(title='第%s本书'%i) # # 再将所有的数据查询并展示到前端页面 book_queryset = models.Book.objects.all() 阅读全文
posted @ 2022-04-05 04:47 咖喱给给啊 编辑
摘要:""" 自己要学会如何拷贝 学会基于别人的基础之上做修改 研究各个参数表示的意思 然后找葫芦画瓢 """ <script> $('.del').on('click',function () { // 先将当前标签对象存储起来 let currentBtn = $(this); // 二次确认弹框 s 阅读全文
posted @ 2022-04-05 04:43 咖喱给给啊 编辑
摘要:### ajax发送文件 ```python """ ajax发送文件需要借助于js内置对象FormData """ <script> // 点击按钮朝后端发送普通键值对和文件数据 $('#d4').on('click',function () { // 1 需要先利用FormData内置对象 le 阅读全文
posted @ 2022-04-05 04:23 咖喱给给啊 编辑
摘要:### ajax发送json格式数据 ```python """ 前后端传输数据的时候一定要确保编码格式跟数据真正的格式是一致的 不要骗人家!!! {"username":"jason","age":25} 在request.POST里面肯定找不到 django针对json格式的数据 不会做任何的处 阅读全文
posted @ 2022-04-05 04:23 咖喱给给啊 编辑
摘要:# 我们主要研究post请求数据的编码格式 """ get请求数据就是直接放在url后面的 url?username=jason&password=123 """ # 可以朝后端发送post请求的方式 """ 1.form表单 2.ajax请求 """ """ 前后端传输数据的编码格式 urlenc 阅读全文
posted @ 2022-04-05 04:22 咖喱给给啊 编辑
摘要:""" 异步提交 局部刷新 例子:github注册 动态获取用户名实时的跟后端确认并实时展示的前端(局部刷新) 朝发送请求的方式 1.浏览器地址栏直接输入url回车 GET请求 2.a标签href属性 GET请求 3.form表单 GET请求/POST请求 4.ajax GET请求/POST请求 A 阅读全文
posted @ 2022-04-05 03:31 咖喱给给啊 编辑
摘要:# 全自动:利用orm自动帮我们创建第三张关系表 class Book(models.Model): name = models.CharField(max_length=32) authors = models.ManyToManyField(to='Author') class Author(m 阅读全文
posted @ 2022-04-05 03:30 咖喱给给啊 编辑
摘要:# MTV:Django号称是MTV模型 M:models T:templates V:views # MVC:其实django本质也是MVC M:models V:views C:controller # vue框架:MVVM模型 阅读全文
posted @ 2022-04-05 03:29 咖喱给给啊 编辑
摘要:class School(models.Model): """ 校区表 如: 北京沙河校区 上海校区 """ title = models.CharField(verbose_name='校区名称', max_length=32) def __str__(self): return self.tit 阅读全文
posted @ 2022-04-05 03:27 咖喱给给啊 编辑
摘要:""" 用户表 性别 学历 工作经验 是否结婚 是否生子 客户来源 ... 针对某个可以列举完全的可能性字段,我们应该如何存储 只要某个字段的可能性是可以列举完全的,那么一般情况下都会采用choices参数 """ class User(models.Model): username = model 阅读全文
posted @ 2022-04-05 03:26 咖喱给给啊 编辑
摘要:```python from django.shortcuts import render,redirect,HttpResponse from app01 import models # Create your views here. def home(request): return rende 阅读全文
posted @ 2022-04-05 03:23 咖喱给给啊 编辑
摘要:```python only与defer select_related与prefetch_related """ orm语句的特点: 惰性查询 如果你仅仅只是书写了orm语句 在后面根本没有用到该语句所查询出来的参数 那么orm会自动识别 直接不执行 """ # only与defer # res = 阅读全文
posted @ 2022-04-05 03:15 咖喱给给啊 编辑
摘要:AutoField 主键字段 primary_key=True CharField varchar verbose_name 字段的注释 max_length 长度 IntegerField int BigIntegerField bigint DecimalField max_digits=8 d 阅读全文
posted @ 2022-04-05 02:35 咖喱给给啊 编辑
摘要:""" 事务 ACID 原子性 不可分割的最小单位 一致性 跟原子性是相辅相成 隔离性 事务之间互相不干扰 持久性 事务一旦确认永久生效 事务的回滚 rollback 事务的确认 commit """ # 目前你只需要掌握Django中如何简单的开启事务 # 事务 from django.db im 阅读全文
posted @ 2022-04-05 02:34 咖喱给给啊 编辑
摘要:# F查询 # 1.查询卖出数大于库存数的书籍 # F查询 """ 能够帮助你直接获取到表中某个字段对应的数据 """ from django.db.models import F # res = models.Book.objects.filter(maichu__gt=F('kucun')) # 阅读全文
posted @ 2022-04-05 02:20 咖喱给给啊 编辑
摘要:#统计每个作者出了多少本书 # res = models.Book.objects.annotate(author_num=Count('authors__name')).values('title','author_num') # print(res) #其实直接按照书的名字来统计就可以了,但是必 阅读全文
posted @ 2022-04-05 01:15 咖喱给给啊 编辑
摘要:# 聚合查询 aggregate """ 聚合查询通常情况下都是配合分组一起使用的 只要是跟数据库相关的模块 基本上都在django.db.models里面 如果上述没有那么应该在django.db里面 """ from app01 import models from django.db.mode 阅读全文
posted @ 2022-04-04 22:40 咖喱给给啊 编辑
摘要:# 查询出版社所有的书籍名字和出版社的名字 #出版社查书 反向 多个 # res = models.Publish.objects.filter(name='东方出版社').values('name','book__title') # print(res) # 所有书查出版社 正向 一个 # res 阅读全文
posted @ 2022-04-04 22:33 咖喱给给啊 编辑
摘要:# 1.查询书籍主键为1的出版社 # book_obj = models.Book.objects.filter(pk=1).first() # # 书查出版社 正向 # res = book_obj.publish # print(res) # print(res.name) # print(re 阅读全文
posted @ 2022-04-04 06:04 咖喱给给啊 编辑
摘要:正向 # 反向 外键字段在我手上那么,我查你就是正向 外键字段如果不在手上,我查你就是反向 book >>>外键字段在书那儿(正向)>>> publish publish >>>外键字段在书那儿(反向)>>>book 一对一和多对多正反向的判断也是如此 """ 正向查询按字段 反向查询按表名小写 _ 阅读全文
posted @ 2022-04-04 05:33 咖喱给给啊 编辑
摘要:# 如何给书籍添加作者? book_obj = models.Book.objects.filter(pk=1).first() # print(book_obj.authors) # 就类似于你已经到了第三张关系表了 # book_obj.authors.add(1) # 书籍id为1的书籍绑定一 阅读全文
posted @ 2022-04-04 05:20 咖喱给给啊 编辑
摘要:# 一对多外键增删改查 # 增 # 1 直接写实际字段 id # models.Book.objects.create(title='论语',price=899.23,publish_id=1) # models.Book.objects.create(title='聊斋',price=444.23 阅读全文
posted @ 2022-04-04 04:46 咖喱给给啊 编辑
摘要:# 神奇的双下划线查询 # 1 年龄大于35岁的数据 # res = models.User.objects.filter(age__gt=35) # print(res) # 2 年龄小于35岁的数据 # res = models.User.objects.filter(age__lt=35) # 阅读全文
posted @ 2022-04-04 04:21 咖喱给给啊 编辑
摘要:# 方式1 res = models.User.objects.values_list('name','age') # <QuerySet [('jason', 18), ('egonPPP', 84)]> print(res.query) queryset对象才能够点击query查看内部的sql语 阅读全文
posted @ 2022-04-04 04:20 咖喱给给啊 编辑
摘要:""" 当你只是想测试django中的某一个py文件内容 那么你可以不用书写前后端交互的形式 而是直接写一个测试脚本即可 脚本代码无论是写在应用下的tests.py还是自己单独开设py文件都可以 """ # 测试环境的准备 去manage.py中拷贝前四行代码 然后自己写两行 import os i 阅读全文
posted @ 2022-04-04 04:19 咖喱给给啊 编辑
摘要:# 必知必会13条 # 1.all() 查询所有数据 # 2.filter() 带有过滤条件的查询 # 3.get() 直接拿数据对象 但是条件不存在直接报错 # 4.first() 拿queryset里面第一个元素 # res = models.User.objects.all().first() 阅读全文
posted @ 2022-04-04 04:18 咖喱给给啊 编辑
摘要:""" 将页面的某一个局部当成模块的形式 哪个地方需要就可以直接导入使用即可 """ {% include 'wasai.html' %} 整个导入到include处 阅读全文
posted @ 2022-04-04 03:55 咖喱给给啊 编辑
摘要:""" 你们有没有见过一些网站 这些网站页面整体都大差不差 只是某一些局部在做变化 """ # 模版的继承 你自己先选好一个你要想继承的模版页面 {% extends 'home.html' %} # 继承了之后子页面跟模版页面长的是一模一样的 你需要在模版页面上提前划定可以被修改的区域 {% bl 阅读全文
posted @ 2022-04-04 03:38 咖喱给给啊 编辑
摘要:""" 先三步走 1.在应用下创建一个名字”必须“叫templatetags文件夹 2.在该文件夹内创建“任意”名称的py文件 eg:mytag.py 3.在该py文件内"必须"先书写下面两句话(单词一个都不能错) from django import template register = tem 阅读全文
posted @ 2022-04-04 03:33 咖喱给给啊 编辑
摘要:# for循环 {% for foo in l %} <p>{{ forloop }}</p> <p>{{ foo }}</p> 一个个元素 {% endfor %} {'parentloop': {}, 'counter0': 0, 'counter': 1, 'revcounter': 6, ' 阅读全文
posted @ 2022-04-04 03:31 咖喱给给啊 编辑
摘要:# 过滤器就类似于是模版语法内置的 内置方法 # django内置有60多个过滤器 我们不需要学这么多 了解10个左右就差不多了 后面碰到了再去记忆 # 基本语法 {{数据|过滤器:参数}} # 转义 # 前端 |safe # 后端 from django.utils.safestring impo 阅读全文
posted @ 2022-04-04 03:21 咖喱给给啊 编辑
摘要:{{}}:变量相关 {%%}:逻辑相关 ```python def index(request): # 模版语法可以传递的后端python数据类型 n = 123 f = 11.11 s = '我也想奔现' b = True l = ['小红','姗姗','花花','茹茹'] t = (111,22 阅读全文
posted @ 2022-04-04 03:01 咖喱给给啊 编辑
摘要:GenericAPIView 实现通用的数据库查询和序列化在类中定义: queryset = Book.objects serializer_class = myserializersmod.BookModelSerializer自己需要实现get post put delete 方法 好处是写法都 阅读全文
posted @ 2022-04-04 02:36 咖喱给给啊 编辑
摘要:```python """ HttpResponse 返回字符串类型 render 返回html页面 并且在返回给浏览器之前还可以给html文件传值 redirect 重定向 """ # 视图函数必须要返回一个HttpResponse对象 正确 研究三者的源码即可得处结论 The view app0 阅读全文
posted @ 2022-04-04 01:27 咖喱给给啊 编辑
摘要:```python # 当多个应用出现了相同的别名 我们研究反向解析会不会自动识别应用前缀 """ 正常情况下的反向解析是没有办法自动识别前缀的 """ # 名称空间 # 总路由 url(r'^app01/',include('app01.urls',namespace='app01')), url 阅读全文
posted @ 2022-04-04 00:25 咖喱给给啊 编辑
摘要:# 总路由 from app01 import urls as app01_urls from app02 import urls as app02_urls urlpatterns = [ url(r'^admin/', admin.site.urls), # 1.路由分发 url(r'^app0 阅读全文
posted @ 2022-04-04 00:22 咖喱给给啊 编辑
摘要:# 路由匹配 url(r'test',views.test), url(r'testadd',views.testadd) """ url方法第一个参数是正则表达式 只要第一个参数正则表达式能够匹配到内容 那么就会立刻停止往下匹配 直接执行对应的视图函数 所以需要在后面添加一个/斜杠 确保唯一 你在 阅读全文
posted @ 2022-04-03 23:42 咖喱给给啊 编辑
摘要:""" 表与表之间的关系 一对多 多对多 一对一 没有关系 判断表关系的方法:换位思考 """ 图书表 出版社表 作者表 作者详情表 """ 图书和出版社是一对多的关系 外键字段建在多的那一方 book 图书和作者是多对多的关系 需要创建第三张表来专门存储 作者与作者详情表是一对一 """ from 阅读全文
posted @ 2022-04-03 23:27 咖喱给给啊 编辑
摘要:# 查一个 res = models.User.objects.filter(username=username) """ 返回值你先看成是列表套数据对象的格式 它也支持索引取值 切片操作 但是不支持负数索引 它也不推荐你使用索引的方式取值用first()取值取到的是一个对象,查一个,还是查多个,都 阅读全文
posted @ 2022-04-03 23:15 咖喱给给啊 编辑
摘要:class User(models.Model): # id int primary_key auto_increment id = models.AutoField(primary_key=True,verbose_name='主键') # username varchar(32) usernam 阅读全文
posted @ 2022-04-03 22:09 咖喱给给啊 编辑
摘要:# 默认用的是sqkite3 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } # django链接MySQL 1. 阅读全文
posted @ 2022-04-03 21:17 咖喱给给啊 编辑
摘要:request.method # 返回请求方式 并且是全大写的字符串形式 <class 'str'> request.POST # 获取用户post请求提交的普通数据不包含文件 request.POST.get() # 只获取列表最后一个元素 request.POST.getlist() # 直接将 阅读全文
posted @ 2022-04-03 20:15 咖喱给给啊 编辑
摘要:form表单action参数 1.不写 默认朝当前所在的url提交数据 2.全写 指名道姓 3.只写后缀 /login/ 阅读全文
posted @ 2022-04-03 18:49 咖喱给给啊 编辑
摘要:from django.shortcuts import HttpResponse,render,redirect #返回字符串 return HttpResponse('字符串') #返回html页面 return render(request,'login.html') def ab_rende 阅读全文
posted @ 2022-04-03 17:59 咖喱给给啊 编辑
摘要:# 静态文件配置 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), os.path.join(BASE_DIR,'static1'), os.path.join(BASE_DIR,'static2'), ] # 静态文件动态解析 {% loa 阅读全文
posted @ 2022-04-03 17:55 咖喱给给啊 编辑

点击右上角即可分享
微信分享提示