
django
文章平均质量分 85
liyu5543
这个作者很懒,什么都没留下…
展开
-
docker-compose模板指令 命令行指令
一、docker-compose两个重要的概念项目(project):有多个服务共同组成的完整的业务单元,定义在docker-compose.yml文件中服务(service):一个服务对应一个应用容器,在一个项目中可以存在多个服务书写格式:注意yml文件的书写格式,用空格缩进,用-符号写多个值version: "3.0" # 表示使用的版本,必写services: # 注意这里写的是复数,表示多个的意思 tomcat: # 这个就是服务了,这里写的是付的名称,就是这个服务叫啥,注意这个原创 2021-06-11 20:07:59 · 827 阅读 · 0 评论 -
Django ORM相关操作 select_related和prefetch_related函数对 QuerySet 查询的优化
在数据库存在外键的其情况下,使用select_related()和prefetch_related()很大程度上减少对数据库的请求次数以提高性能主要思想就是 ‘当我们在表中查找一个数据项的时候,我们 顺手 把连接到这个数据项的其他表中的关系数据项,一起查找出来,这样当我们对这个数据项进行操作的时候,就可以直接操作刚刚 顺手 拿出来的关系数据项,而不用再次去数据库中拿了’1,两者适用范围select_related() 适用于一对一OneToOneField 和 多对一(就是外键)ForeignKey原创 2020-11-21 12:20:04 · 605 阅读 · 0 评论 -
django url参数传递方式
有两种方式:这里只记载一点小区别1, 参数传递的方式path('/abc/<int:id>/', views.abc, name='abc')这种需要传递id给对应的视图的def abc(request, id): pass ***在这个函数abc里面,id是直接可以用的***,不需要用GET.get, 或者POST.get的方式获取,直接用就可以了在前台HTML中如此写:如: <a href="{% url 'bee:index_bee' bee.id %}">{原创 2020-10-22 15:11:56 · 2575 阅读 · 0 评论 -
Django 多对多添加
多对多添加用add 方法add(obj1, obj2…)如果在使用了列表把符合条件的instance 添加到列表之后,传入add()函数那么需要使用*args 参数来对列表进行解构,否则add 函数不会执行如:instance_list = [ obj1, obj2, obj3]则,在调用add 函数的时候:这样是不行的: add(instance_list)需要这样才可以:add( *instance_list)...原创 2020-10-21 18:48:26 · 954 阅读 · 0 评论 -
笔记:restframe work 记录多对一表, 如何在那个一的表中进行序列化(反向查询)
问题: 有三张表,其中一张是主表,另外两张是附属表,附属表有外键指向主表。在序列化的时候,需要序列化主表,但是需要从两种附属表中拿到数据。这里最大的亮点就是:需要在附属表的models中, 设置那个related_name=‘xxx’ 然后用这个‘xxx’ 去当做主表序列话里面的字段。还有必须设置many=True具体下面的代码:model.py图片表和下载地址表都是附属表,指向主表。这里不看分类类型表注意图片表和下载地址表都必须设置那个related_name参数了from django.db原创 2020-05-14 21:08:36 · 578 阅读 · 1 评论 -
笔记: Django Rest Framework 解析器
1, 总之: 给你数据,按照什么格式解析,就称之为解析器django 其实自带的也有解析器, 比如那个JsonResponse()就会返回json类的数据之类我们用restframework 的解析器,只要在全局settings.py中设置了久可了,不需要单独设置在具体的views中去,就可以了,如下:REST_FRAMEWORK = { 'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.URLPathVersioning', #版本类的设原创 2020-05-14 13:41:40 · 298 阅读 · 0 评论 -
笔记: Django Rest Framework 版本使用
暂时用不到这个restframework 里面的版本version, 所以我们写类直接继承人家已经写好的类,如下:1, views.py视图from django.shortcuts import renderfrom django.http import HttpResponsefrom rest_framework.views import APIViewfrom rest_framework.versioning import BaseVersioning,URLPathVersioning原创 2020-05-14 12:55:33 · 208 阅读 · 0 评论 -
笔记: Django Rest Framework 访问频率
首先自定义一个访问频率的类,然后在试图中引用就可以了,如下:1, 先定义访问频率的类,如下代码:没有继承restframework的任何类# 下面是访问频率的代码,没有继承# 这个代码根据访问的IP地址 来进行访问限制。。。。同理可作根据访问的用户名来进行访问限制。#这里定义一个字典,用来记录访问频率, 这个字典的key就是ip地址,value就是访问的时间记录值是一个value,这个可以在这里用一个字典,也可以翻到缓存,也可以翻到数据库VISIT_RECORD = {}import tim原创 2020-05-13 21:16:08 · 233 阅读 · 0 评论 -
笔记: Django Rest Framework 权限类Permission自定义 使用流程概述
目的: 为不同的试图 用不同的权限访问只要写上一个类,权限类,然后在views中引入就可以了,套路和上面的权的是一样的模式如下所以:写的权限类:has_permission()返回True表示权限认证成功,返回False表示权限不通过,这个函数同时有三个参数,最后一个是view, 这个是在源码中规定的注意里面的message#下面是权限的代码, 没有继承restframework类中的任何一个类class MyPermission(object): message = '这里可以定制返原创 2020-05-13 19:42:11 · 1664 阅读 · 0 评论 -
笔记: Django Rest Framework APIView 认证类自定义 使用流程概述
验证类可以局部使用(在单独的views中引入), 也可以全局使用(在settings中配置)使用流程1: 就是先定义一个自定义的认证类(比如MyAuth),然后重写authenticate()方法,把需要认证的逻辑放到这个函数里面写,然后注意返回值是一个元组. 然后在需要使用这个验证类的view视图里面 用authentication_classes = [MyAuth,]列表包裹起来,就可以了.使用流程2: 上述使用在需要的视图里面写上认证类的列表. 如果视图过多,则写的也多…所以还可以放到s原创 2020-05-13 18:44:31 · 755 阅读 · 0 评论 -
笔记: Django Rest Framework APIView 认证 auth
1, 先写一个APP, 名字叫auth_test1.1 urls.py文件内容如下:path('dog/', views.DogView.as_view())1.2 views.py 文件内容如下from django.views import Viewfrom rest_framework.views import APIViewclass DogView(APIView): ''' 根据APIView源码,可以看到他是继承自django的View,这个APIView类里面原创 2020-05-12 19:37:31 · 758 阅读 · 0 评论 -
笔记: Django Rest Framework Content-Type
1, 先写一个APP, 名字叫dsj1.1 urls.py文件内容如下:"""content_type URL Configuration"""from django.contrib import adminfrom django.urls import pathfrom app01 import viewsurlpatterns = [ path('admin/', a...原创 2020-05-02 14:39:33 · 469 阅读 · 0 评论 -
笔记: Django Rest Framework 渲染器
1, 先写一个APP, 名字叫dsj1.1 urls.py文件内容如下:from django.urls import path, re_path, includefrom django.conf.urls import urlfrom . import views#下面是用rest framework的路由系统是设置from rest_framework import route...原创 2020-05-02 13:57:48 · 294 阅读 · 0 评论 -
笔记: Django Rest Framework 视图
1, 先写一个APP, 名字叫dsj1.1 urls.py文件内容如下:from django.urls import path, re_path, includefrom django.conf.urls import urlfrom . import views#下面是用rest framework的路由系统是设置from rest_framework import route...原创 2020-05-02 13:45:49 · 356 阅读 · 0 评论 -
笔记: Django Rest Framework 路由router
1, 先写一个APP, 名字叫dsj1.1 urls.py文件内容如下:from django.urls import path, re_pathfrom . import viewsurlpatterns = [ re_path(r'^page1/$', views.Page1View.as_view()), #这个是测试分页的功能的时候的URL re_path(r'...原创 2020-05-01 14:39:56 · 1307 阅读 · 0 评论 -
笔记: Django Rest Framework 序列化和反序列化
1, 先写一个APP, 名字叫dsj1.1 urls.py文件内容如下:from django.urls import path, re_pathfrom . import viewsurlpatterns = [ re_path(r'^roles/$', views.RolesView.as_view()), re_path(r'^userinfo/$', views...原创 2020-05-01 11:56:49 · 953 阅读 · 1 评论 -
django forms表单,仅对收集上来的数据进行验证,是否合法,不需要在forms文件内部进行操作数据,仅仅验证!!!
django forms表单,仅对收集上来的数据进行验证,是否合法,不需要在forms文件内部进行操作数据,仅仅验证!!!from django import formsfrom .models import Userfrom django.http import HttpResponsefrom django.shortcuts import render,redirect, rever...原创 2019-09-20 16:53:47 · 210 阅读 · 0 评论 -
类中实例变量和类变量(针对这个变量是可变的,如list)
类中变量(针对单一不变的变量和可变的)类变量和实例变量的区别1, 如果想要实例共享类里面的变量, 就是大家都能用到的变量,可以把这个变量设置成单独的变量,这样大家每个人实例化之后,这个变量的值都是固定的。(前提是已经赋值了)2, 如果这个变量是可变的,如list,就不能吧这个变量设置成单独的,需要放到__init__初始函数中,去初始化,因为每个想要用这个类的人,都需要实例化之后才可以用,这...原创 2019-08-25 11:30:13 · 381 阅读 · 0 评论 -
django执行流程-个人理解【不知对错】
个人目前体会到的django执行流程PS以下应该可能也许有错误。。。。但目前我的境界只能理解到这里。。。1, 外部客户通过在浏览器中写上url,这个url是要满足一定条件的,不可以瞎写,是要满足我们后台urls.py 文件中path函数中的第一个参数形式的才可以访问到内容,否则获取不到内容,所以这个是url的输入条件。2, 然后浏览器提交请求到服务器,此时浏览器的请求被封装在request的...原创 2019-08-23 16:04:30 · 126 阅读 · 0 评论