10 2020 档案
摘要:课程接口的编写 """ Django settings for LuffyBoy project. Generated by 'django-admin startproject' using Django 1.11.11. For more information on this file, se
阅读全文
摘要:什么时候才用ContentType? 当一张表跟 n 张表动态地创建 ForeignKey 关系时,而不是创建太多列,因为数据表中会有很多空值。 ContentType 通过仅两列字段就实现了 n 张表的 ForeignKey 关系。 表的设计 from django.db import model
阅读全文
摘要:CORS跨域请求 CORS即Cross Origin Resource Sharing 跨域资源共享, 那么跨域请求还分为两种,一种叫简单请求,一种是复杂请求~~ 简单请求 HTTP方法是下列方法之一 HEAD, GET,POST HTTP头信息不超出以下几种字段 Accept, Accept-La
阅读全文
摘要:DRF的分页 为什么要使用分页 其实这个不说大家都知道,大家写项目的时候也是一定会用的, 我们数据库有几千万条数据,这些数据需要展示,我们不可能直接从数据库把数据全部读取出来, 这样会给内存造成特别大的压力,有可能还会内存溢出,所以我们希望一点一点的取, 那展示的时候也是一样的,总是要进行分页显示,
阅读全文
摘要:DRF的权限 权限组件源码 我们之前说过了DRF的版本和认证~也知道了权限和频率跟版本认证都是在initial方法里初始化的~~ 其实我们版本,认证,权限,频率控制走的源码流程大致相同~~大家也可以在源码里看到~~ 我们的权限类一定要有has_permission方法~否则就会抛出异常~~这也是框架
阅读全文
摘要:DRF的版本 版本控制是做什么用的, 我们为什么要用 首先我们要知道我们的版本是干嘛用的呢~~大家都知道我们开发项目是有多个版本的~~ 随着我们项目的更新~版本就越来越多~~我们不可能新的版本出了~以前旧的版本就不进行维护了~~~ 那我们就需要对版本进行控制~~这个DRF也给我们提供了一些封装好的版
阅读全文
摘要:DRF的视图 APIView 我们django中写CBV的时候继承的是View,rest_framework继承的是APIView,那么他们两个有什么不同呢~~~ urlpatterns = [ url(r'^book$', BookView.as_view()), url(r'^book/(?P<
阅读全文
摘要:FBV和CBV区别 CBV 内部dispatch 做了分发 FBV没办法用类的继承,多态 # DJango的View只做了CBV的分发 def dispatch(self, request, *args, **kwargs): # GET POST # BookView().get if reque
阅读全文
摘要:Serializers 序列化组件 为什么要用序列化组件 当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式。 那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行序列化。 接下来我们看下django序列化和rest
阅读全文
摘要:一、验证码相关知识 Python生成随机验证码,需要使用PIL模块. 安装: pip3 install pillow 基本使用 1. 创建图片 from PIL import Image img = Image.new(mode='RGB', size=(120, 30), color=(255,
阅读全文
摘要:ORM性能相关 - ORM性能相关 1. [{} ] all_users = models.User.objects.all().values('name','age','role__name') 2. [ 对象 ] all_users = models.User.objects.all() 用的时
阅读全文
摘要:缓存,序列化,信号 一、缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者
阅读全文
摘要:权限系统的应用 权限系统的应用 1. 拷贝rbac 到新项目中 2. 注册rbac APP 以及配置信息 PERMISSION_SESSION_KEY = 'permissions' MENU_SESSION_KEY = 'menus' WHITE_URL_LIST = [ r'/login/$',
阅读全文
摘要:第一版 表的设计 from django.db import models class Permission(models.Model): title = models.CharField(max_length=32, verbose_name='标题') url = models.CharFiel
阅读全文
摘要:python基础相关 python面向对象相关 网络编程相关 前端相关 数据库相关 Django相关 Linux相关 1. Python中__new__与__init__方法的区别 __new__: 构造方法 触发时机: 在实例化对时触发 参数:至少一个cls 接收当前类 返回值:必须返回一个对象实
阅读全文
摘要:表结构设计 注册 from django import forms from crm import models from django.core.exceptions import ValidationError # 注册form class RegForm(forms.ModelForm): p
阅读全文
摘要:Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。 Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统--auth,
阅读全文
摘要:Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息
阅读全文
摘要:AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 * JSON 使用 JavaScript
阅读全文
摘要:Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它
阅读全文
摘要:中间件介绍 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。 说的直白一点中间
阅读全文
摘要:表结构 # 书 class Book(models.Model): title = models.CharField(max_length=32) publish_date = models.DateField(auto_now_add=True) price = models.DecimalFie
阅读全文
摘要:Cookie的由来 大家都知道HTTP协议是无状态的。 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。 一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的。 状态可
阅读全文
摘要:必知必会13条 <1> all(): 查询所有结果 <2> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 <3> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <4> exclude
阅读全文
摘要:ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层
阅读全文
摘要:写一个装饰器 import time def timer(fn): def inner(*args, **kwargs): start = time.time() ret = fn(*args, **kwargs) print("函数执行时间是{}".format(time.time() - sta
阅读全文
摘要:Django模板语法 一、什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板。 二、模板语法分类 一、模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键是句点字符 .(也就是点) views.py def index(reques
阅读全文
摘要:上传文件 views # 上传文件 def upload(request): if request.method == 'POST': # 1. 取到用户发送的数据 print(request.POST) print(request.FILES) file_obj = request.FILES.g
阅读全文
摘要:一、出版社增删改查 url from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^login/$', views.login),
阅读全文
摘要:Pandas的数据结构 导入pandas: 三剑客 import pandas as pd from pandas import Series,DataFrame import numpy as np 1、Series Series是一种类似与一维数组的对象,由下面两个部分组成: values:一组
阅读全文
摘要:一、概述 数据分析:是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律 数据分析三剑客:Numpy,Pandas,Matplotlib NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算
阅读全文
摘要:一、正则基本回顾 1.常用指令 import re #提取出python # key="javapythonc++php" # re.findall('python',key)[0] # #提取出hello world # key="<html><h1>hello world<h1></html>"
阅读全文
摘要:一、fidder配置 1.打开fidder,点击Tools 2.点击HTTPS,勾上下面选项 二、安装Jupyter Notebook 1.下载jupyter pip3 install jupyter 2. 启动 ① 默认端口启动 jupyter notebook访问浏览器,地址栏中默认地将会显示:
阅读全文