随笔分类 - Django
摘要:1、static STATIC_URL = '/static/' # 静态文件别名(相对路径) 和 绝对路径 STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'app01/static'), ) 2、media #配置项目的settings.py: MEDIA
阅读全文
摘要:一、同源策略 #同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。 #用大白话说,登陆了淘宝,服务器会把cookie发送给客户端,此时客户端打开了不法网址,如果这个不法网址可以访问淘宝,那么不法网址可以冒充客户端为所欲为 #如果两个
阅读全文
摘要:一、django缓存的几种方式及配置 配置缓存,在Django项目的settings.py中配置 1、缓存至内存(默认) CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
阅读全文
摘要:不使用drf视图 #在下面的这些代码中,存在很多代码重复 from rest_framework.views import APIView from app01.models import * from app01.mySer import * from django.http import Jso
阅读全文
摘要:源码分析 1 在调用request.data时,才进行解析,由此入手 @property def data(self): if not _hasattr(self, '_full_data'): self._load_data_and_files() return self._full_data 2
阅读全文
摘要:自定义,也是源码的基本逻辑 ''' {'ip1':[时间1 ,时间2], 'ip2':[时间1, ], } #(1)取出访问者ip # (2)判断当前ip不在访问字典里,添加进去,并且直接返回True,表示第一次访问,在字典里,继续往下走 # (3)循环判断当前ip的列表,有值,并且当前时间减去列表
阅读全文
摘要:源码与认证组件很类似,这里只给出关键点 def check_permissions(self, request): for permission in self.get_permissions(): if not permission.has_permission(request, self): s
阅读全文
摘要:认证源码分析 #1、APIAPIView #进来 #2、APIAPIView类中有很多方法,找到dispatch方法 ,请求来了肯定要走dispatch def dispatch(self, request, *args, **kwargs): request = self.initialize_r
阅读全文
摘要:一、自己用for循环处理(太麻烦) 二、用django提供的序列化组件 三、rest-framework序列化之Serializer from django.db import models # Create your models here. class Book(models.Model): t
阅读全文
摘要:前言 一、什么是drf # class Student(): # name='pdun' # # def __init__(self,age): # self.age=age # # s1=Student(1) # print(s1.name) # print(s1.age) # print(s1.
阅读全文
摘要:一、CBV与FBV 二、CBV的用法及源码分析 1、用法 #视图层 # 1 先导入View(继承它) from django.views import View # 写一个类继承它, class Test(View): #request必须传,后面的可传可不传(有可能有名,无名分组) def get
阅读全文
摘要:RESTful规范 10条规范 总结 django下resful接口规范的编写 class Books(View): # 获取所有图书 def get(self, request): print(type(request)) response = {'status': 100, 'data': No
阅读全文
摘要:# -auth组件 # -auth是什么? # -django内置的用户认证系统,可以快速的实现,登录,注销,修改密码.... # -怎么用? # -(1)先创建超级用户: # -python3 manage.py createsuperuser # -输入用户名,邮箱(可以不输入),密码,敲回车,
阅读全文
摘要:一、中间件简介 二、自定义中间件 #m1.py from django.shortcuts import HttpResponse from django.utils.deprecation import MiddlewareMixin class Middle1(MiddlewareMixin):
阅读全文
摘要:#cookie 是由浏览器维持,存储在客户端的一小段文本信息。用户每次访问站点时,web服务都可以读取cookie中的信息 cookie根据生命周期分为会话cookie和持久cookie。//todo #session 中文翻译为会话。在服务器上保存用户操作的历史信息。服务器会使用类似散列表的结构保
阅读全文
摘要:一、检验字段的功能 二、渲染标签 三种方式渲染模板 展示报错信息 三、局部钩子与全局钩子 四、常用字段与插件 创建Form类时,主要涉及到字段和插件,字段用于请求数据的验证,插件用于自动生成HTML initial (input框里的初始值) class LoginForm(forms.Form):
阅读全文
摘要:一、Ajax简介 最基本的用法 #使用get请求往后台提交数据 <head> <meta charset="UTF-8"> <script src="/static/jquery-3.3.1.js"></script> #需要jquery <title>Title</title> </head> <
阅读全文
摘要:一 创建模型 #注意:关联字段与外键约束没有必然的联系(建关联字段是为了进行查询,建约束是为了不出现脏数据) 1、在Models创建如下模型 class Book(models.Model): id = models.AutoField(primary_key=True) name = models
阅读全文
摘要:一、ORM简介 #什么是ORM #ORM是 对象-关系-映射 的简称 是随着面向对象的软件开发方法发展而产生的。用来把一个对象映射到基于SQL 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需简单的操作实体对象的属性和方法 #ORM的起
阅读全文
摘要:一、模板简介 使用模板的好处 两种给模板传递值的方式 变量相关{{}}逻辑相关{%%} 模板语言之变量 深度查询 def index(request): name = 'lqz' age = 18 ll = [1, 2, 'lqz', 'egon'] ll2=[] dic2={} tu = (1,
阅读全文

浙公网安备 33010602011771号