02 2020 档案
摘要:版本控制器 """ 完成 协同开发 项目,帮助程序员整合代码 i)帮助开发者合并开发的代码 ii)如果出现冲突代码的合并,会提示后提交合并代码的开发者,让其解决冲突 软件:SVN 、 GIT(都是同一个人的个人项目) github、gitee(两个采用git版本控制器管理代码的公共平台) git:集
阅读全文
摘要:xadmin后台管理 一、安装 pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2 二、注册app INSTALLED_APPS = [ # ... # xamin主体模块 'xadmin', # 渲染表格模块 'cr
阅读全文
摘要:(一)、日志相关概念 日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事件可以用一个可包含可选变量数据的消息来描述。此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level)。 1、日志的作用 通过log
阅读全文
摘要:jwt认证 jwt(json web token)优势: 1、没有数据库写操作,高效 2、服务器不存token,低耗 3、签发校验都是算法,集群 jwt认证和session示意图 jwt认证算法:签发与校验 """ 1)jwt分三段式:头.体.签名 (head.payload.sgin) 2)头和体
阅读全文
摘要:urls.py from django.conf.urls import url, include from . import views from rest_framework.routers import SimpleRouter router = SimpleRouter() # /books
阅读全文
摘要:准备工作: models.py from django.db import models # 基类:是抽象的(不会完成数据库迁移),目的是提供共有字段的 class BaseModel(models.Model): is_delete = models.BooleanField(default=Fa
阅读全文
摘要:DRF 权限认证 导入: 用户量极大的常规项目,会分两种用户:前台用户(三大认证) 和 后台用户(BRAC来管理) 结论:没有特殊要求的Django项目可以直接采用Auth组件的权限六表,不需要自定义六个表,也不需要断开表关系,但可能需要自定义User表 三大认证流程 认证 工作原理 返回None
阅读全文
摘要:drf框架路由组件的使用 注意:路由组件,必须配合视图集使用 一.导入模块 from rest_framework.routers import SimpleRouter 二.创建路由 router = SimpleRouter() # 注册各种接口路由 # 注意:books后面不能带斜杠 # 以后
阅读全文
摘要:drf视图家族 视图家族 - 视图基类,视图工具类,工具视图类,视图集 视图基类:APIView、GenericAPIView 视图工具类:mixins包下的五个类(六个方法) 工具视图类:generics包下的所有GenericAPIView的子类 视图集:viewsets包下的类 generic
阅读全文
摘要:十大序列化接口 单查群查接口 主路由urls.py from django.conf.urls import url, include from django.contrib import admin from django.views.static import serve from django
阅读全文
摘要:基表 # 基类:是抽象的(不会完成数据库迁移),目的是提供共有字段的 class BaseModel(models.Model): is_delete = models.BooleanField(default=False) updated_time = models.DateTimeField(a
阅读全文
摘要:数据库关系分析 1)之间有关系的两个表,增删改操作会相互影响(效率低),查询操作就是正常的连表操作。 2)之间有关系的两个表,断开关联,但所有数据保持与原来一致; 每个表都可以单独操作,增删改操作效率极高,但是容易出现脏数据(开发中完全可以避免); 由于数据没有任何变化,所以查询的连表操作不会受到任
阅读全文
摘要:一.save 其中比较重要的源码 if self.instance is not None: self.instance = self.update(self.instance, validated_data) assert self.instance is not None, ( '`update
阅读全文
摘要:drf 序列化组件 序列化图示 单表序列化 models.py from django.db import models from django.conf import settings class User(models.Model): SEX_CHOICES = ((0, '男'), (1, '
阅读全文
摘要:Django知识简单回顾 一、数据库配置 import pymysql pymysql.install_as_MySQLdb() DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名', 'USE
阅读全文
摘要:DRF框架APIView的请求生命周期 Django 与drf 源码视图解析 一.原生Django CBV 源码分析:View """ 1)as_view()是入口,得到view函数地址 2)请求来了调用view函数,内部调用dispatch函数完成请求分发 3)dispatch函数将请求方式映射成
阅读全文
摘要:第一篇:计算机与编程基础 计算机与编程基础知识 第二篇:python语法入门 Python 基础知识 Python 流程控制 字符编码介绍 文件的操作处理 第三篇:函数 Python 函数的基本使用 Python 函数的参数详解 函数对象、名称空间与作用域 Python 函数递归 Python 匿名
阅读全文
摘要:初识Mysql数据库 数据库设计三大范式 Mysql库、表、记录的基本操作 Mysql 字段类型与约束条件 Mysql 表与表之间的关系 Mysql 最全查询语句 数据库 笔记 Python pymysql模块 数据库之索引与慢查询优化 mysql数据库备份和还原 数据库 navicate导入与导出
阅读全文
摘要:前端基础之html 前端基础之css 前端基础之JavaScript 前端基础之BOM和DOM 前端基础之jQuery 前端基础之Bootstrap
阅读全文
摘要:DRF框架知识总览 Web API接口 DRF框架的安装配置及特点介绍 CBV vs FBV 接口设计及实现单查群查接口 Django与ORM回顾 DRF框架APIView的请求生命周期 drf 序列化组件 drf中save以及response的源码分析 基类,子序列化、多表序列化与反序列化 十大序
阅读全文
摘要:基于restful接口规范的接口设计 urlpatterns = [ # 资源books接口的设计 url(r'^books/$', views.BookAPIView.as_view()), # 群查、单增 url(r'^books/(?P<pk>\d+)/$', views.BookAPIVie
阅读全文
摘要:一、路由绑定 FBV路由绑定 urlpatterns = [ # 1)项目启动,将test函数地址绑定给/test/路由 # 2)请求/test/访问后台,后台就会调用绑定的test函数 url(r'^test/$', views.test), CBV路由绑定 urlpatterns = [ # 1
阅读全文
摘要:DRF框架的安装配置及特点介绍 安装 pip install djangorestframework 配置 1)在settings中注册 INSTALLED_APPS = [ # ... 'rest_framework', ] 2)在settings中自定义drf配置 注:drf配置查找顺序,自定义
阅读全文
摘要:介绍 """ 1、采用国内源,加速下载模块的速度 2、常用pip源: -- 豆瓣:https://pypi.douban.com/simple -- 阿里:https://mirrors.aliyun.com/pypi/simple 3、加速安装的命令: -- >: pip install -i h
阅读全文
摘要:Web API接口 接口概念: 通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介 接口组成: url链接 - 长得像返回数据的url链接 请求方式 - get(查)、post(增)、put(整体改)、patch(局部改)、delete(删) 请求参数 - 拼接参数、数据包参
阅读全文
摘要:DRF框架知识总览 一、接口(api): 什么是接口 接口文档 接口规范 二、FBV => CBV:Function|Class Base View CBV的请求生命周期 CBV对比FBV的优势 三、drf框架的基础视图类 APIView:请求模块、解析模块、渲染模块、响应模块、异常模块 四、drf
阅读全文
摘要:jq+bs插件 一、jq环境搭建: 安装:在前端项目根目录下的终端 cnpm install jquery 配置:自己在项目根目录下新建 vue.config.js const webpack = require("webpack"); //const是定义常量的关键字 module.exports
阅读全文
摘要:element-ui就类似于BootStrap框架,前者是在vue项目中运用,后者是在原生项目中运用,当然也可以在vue项目中运用 环境搭建: 1) 安装:在前端项目根目录下的终端 cnpm install element-ui 2)配置:main.js import ElementUI from
阅读全文
摘要:前后台交互方式(重点) """ 1)form表单方式 i)get | post 两种请求方式,get请求包含直接在浏览器中输入url回车后发送的请求 ii)该方式的特点是一定会发生页面的跳转(刷新页面叫本页跳转) - 后台决定页面路由 2)ajax异步方式 i)get | post | patch
阅读全文
摘要:前端存储数据大汇总 """ 1)cookie:以字符串形式存储,数据有过期时间(过期时间到,数据失效吗,否则永远有效) 2)localStorage:以对象形式存储,数据永久保存 3)sessionStorage:以对象形式存储,生命周期同所属页面标签(页面不关闭,数据就有效) 4)vuex(sto
阅读全文
摘要:Vuex插件 vuex插件:可以完成任意组件间信息交互(移动端) - 了解 """ 1)vuex是实现任何组件间的信息交互的,可以理解为全局的一个单例,为任何一个组件共享vue仓库里的数据 2)在任何一个组件的逻辑里,都可以访问仓库 i)先在仓库里(store/index.js)定义变量,用来存储共
阅读全文
摘要:配置全局css global.css html, body { margin: 0; } a { color: black; text-decoration: none; } ul { margin: 0; padding: 0; } main.js 配置全局css import '@/assets
阅读全文
摘要:Vue框架的介绍及使用 Vue项目搭建 Vue项目在pycharm中配置 Vue 路由 Vue中组件(.vue文件) 页面组件渲染小组件(重点) 全局配置css和js Vuex插件 前端存储数据汇总 axios插件 element-ui插件 jq+bs插件 vue-cookies
阅读全文
摘要:页面组件渲染小组件(重点) 页面组件作为父组件:views/*.vue <template> <div class="home"> <!-- vue项目下的html是支持大小写,且区分大小写 --> <Nav /> </div> </template> <script> // 父组件加载子组件:父组
阅读全文
摘要:路由核心配置: router/index.js import Vue from 'vue' import VueRouter from 'vue-router' // import 别名 from '文件' import Home from '../views/Home' import About
阅读全文
摘要:Vue组件 组件的构成 一个.vue文件就是一个组件 组件都是由三部分组成:html结构(html结构都是在template标签中)、js逻辑、css样式 1)template只能解析一个根标签 2)js逻辑都是在script标签中,必须设置导出,export default {...} 3)css
阅读全文
摘要:pycharm配置并启动vue项目 第一步 用pycharm打开vue项目的根目录 第二步 安装vue.js插件来高亮 .vue 文件代码(见插图) 第三步 第四步 配置npm启动服务启动vue项目(见插图) 第五步
阅读全文
摘要:一、环境安装 """ node python npm pippip:是一个现代的,通用的Python包管理工具。提供了对Python包的查找,下载,安装,卸载的功能。 python: C语言编写,解释执行python语言的 node: C++语言编写,解释执行JavaScript语言的npm类似于p
阅读全文
摘要:Vue框架 定义:渐进式 JavaScript 框架 渐进式:可以控制一个页面的一个标签,可以控制一系列标签,也可以控制整个页面,甚至可以控制整个前台项目。 通过对框架的了解与运用程度,来决定其在整个项目中的应用范围,最终可以独立以框架方式完成整个web前端项目 一、Vue基础 1、什么是Vue 可
阅读全文
摘要:JS对象补充(掌握) // 1) js没有字典类型,只有对象类型,对象可以完全替代字典来使用 var dic_obj = { //属性:值(数值,函数) 'name':'Bob', 'eat':function () { console.log('在吃饭') } }; console.log(dic
阅读全文