02 2020 档案
摘要:一、总结 1)简述一下,如何把dev分支上最新的功能推到prod分支上用于上线 i)创建分支:git branch 分支,该分支是拷贝当前所在分支的所有版本 ii)切换分支:git checkout prod iii)合并分支:git merge dev 2)项目仓库在本地初始化 和 在远程仓库完成
阅读全文
摘要:一、远程仓库链接多用户 1、在线上(gitee)创建一个luffyapi空仓库, 在本地创建一个luffyapi仓库,并commit到版本库里 2、添加远程源(用ssh)、提交代码到远程源 yes后,会产生.ssh文件,里面的内容 要删除 3、发现 提交代码到远程源 不成功。因为采用ssh协议连接远
阅读全文
摘要:一、多分支开发 分支操作 注意:空的主支master 下,不能创建分支。 1.创建分支>: git branch 分支名2.查看分支>: git branch3.切换分支>: git checkout 分支h4.创建并切换到分支>: git checkout -b 分支名5.删除分支>: g
阅读全文
摘要:一、版本控制器(git) 1、定义: 控制的对象是开发的项目代码,完成 协同开发 项目,帮助程序员整合代码 2、作用: i)帮助开发者合并开发的代码 ii)如果出现冲突代码的合并,会提示后提交合并代码的开发者,让其解决冲突 3、特点: 集群化(三个人都可以充当服务器,三个人可以合作、协同)、多分支
阅读全文
摘要:1)聊一聊为什么要集体管理django项目的应用app,如果用子文件夹集中管理了应用app,如何实现app可以直接在settings中注册 一个成型的Django项目,会有很多功能模块,每一个功能模块对应一个app管理,所以导致项目由众多app,集中管理,结构更清晰,代码更规范。 例如用apps文件
阅读全文
摘要:一、后台主页模块 1、home模块 01、创建home模块 前提:在 luffy 虚拟环境下1.终端从项目根目录进入apps目录>: cd luffyapi & cd apps2.创建app>: python ../../manage.py startapp home 02、路由分发 主路由:l
阅读全文
摘要:一、luffy前台配置 1、axios前后台交互 安装:前端项目目录下的终端 >: cnpm install axios 配置:main.js import axios from 'axios'Vue.prototype.$axios = axios; 2、cookies操作 安装:前端项目目录下的
阅读全文
摘要:一、数据库配置 1、创建数据库 1.管理员连接数据库>: mysql -uroot -proot2.创建数据库>: create database luffy default charset=utf8;3.查看用户>: select user,host,password from mysql.u
阅读全文
摘要:一、后台:Django项目创建 1、环境 为luffy项目创建一个虚拟环境>: mkvirtualenv luffy按照基础环境依赖>: pip install django==2.0.7>: pip install djangorestframework>: pip install pymysql
阅读全文
摘要:一、虚拟环境搭建(安装) 1、为什么要使用虚拟环境? 因为:每个项目都应该有自己的环境 2、什么是虚拟环境? 虚拟环境是一个文件夹,不占内存,只占硬盘 3、优点: 01、使不同应用开发环境相互独立 02、环境升级不影响其他应用,也不会影响全局的python环境 03、防止出现包管理混乱及包版本冲突
阅读全文
摘要:一、频率组件 1)如何自定义频率类2)频率校验的规则3)自定义频率类是最常见的:短信接口一分钟只能发生一条短信 1)自定义频率 01)自定义类继承SimpleRateThrottle 02)设置类实现scope,值就是一个字符串,与settings中的DEFAULT_THROTTLE_RATES进行
阅读全文
摘要:一、认证组件 1)认证规则2)如何自定义认证类3)我们一般不需要自定义认证类,在settings中全局配置第三方 jwt 认证组件提供的认证类即可 2)自定义认证类 1)自定义认证类,继承 BaseAuthentication 类2)必须重写 authenticate(self, request)
阅读全文
摘要:一、注册接口、个人中心接口、图书接口 settings.py INSTALLED_APPS = [ # ... 'rest_framework',]MEDIA_URL = '/media/'MEDIA_ROOT = os.path.join(BASE_DIR, 'media')AUTH_USER_
阅读全文
摘要:自定义user表,一定要配置 admin 管理
阅读全文
摘要:一、视图家族: 1、APIView:基类 2、GenericAPIView:基类 i) 继承APIView的,所以拥有APIView的全部 ii) 三个类属性:queryset、serializer_class、lookup_field iii)三个方法:get_queryset、get_seria
阅读全文
摘要:写代码:步骤 一、序列化类外键字段的覆盖 1)覆盖:是指在序列化类中自定义字段,名字与model类中属性名一致。 (覆盖的是属性的所有规则:extra_kwargs中指定的简易规则、model字段提供的默认规则、数据库唯一约束等哪些规则) 2)外键覆盖字段用PrimaryKeyRelatedFiel
阅读全文
摘要:一、子序列化 1)子序列化的字段,必须是 外键(正向|反向) 字段2)子序列化对应的数据是单个many=False,数据对应是多个many=True3)子序列化其实就是自定义序列化字段,覆盖了原有 外键(正向|反向)字段 的规则,所以不能进行反序列化 案例:运用了子序列化的外键字段,就不能进行数据库
阅读全文
摘要:一、Response二次封装 在应用文件夹下新建response.py文件from rest_framework.response import Response class APIResponse(Response): def __init__(self, status=0, msg='ok',
阅读全文
摘要:一、序列化与反序列化: 1、序列化是指:将数据转换为能传输的数据格式。 比如:汉字:呵呵 是不可以直接传输的,必须序列化成能传输的数据。 2、反序列化是指:将传输过来的数据解析处理。 二、序列化类 案例: 序列化类其他配置(了解) class AuthorModelSerializer(serial
阅读全文
摘要:一、内部类 1、概念:将类定义在一个类的内部,被定义的类就是内部类2、特点:内部类及内部类的所以名称空间,可以直接被外部类访问的3、 应用:通过内部类的名称空间,给外部类额外拓展一些特殊的属性(配置),典型的Meta内部类 - 配置类 class Book(model.Model): class M
阅读全文
摘要:一、Django配置 1)应用是否需要在settings.py文件中的INSTALLED_APPS中注册? 在没有使用到app的一些特殊操作时(比如数据库相关),可以不用注册。 但是注册后,应用的所有功能都能使用 结论:所有应用都可以完成注册 2)数据库配置(全部在settings文件中完成即可)
阅读全文
摘要:一、介绍 1、采用国内源,加速下载模块的速度2、常用pip源: -- 豆瓣:https://pypi.douban.com/simple -- 阿里:https://mirrors.aliyun.com/pypi/simple3、加速安装的命令: -- >: pip install -i https
阅读全文
摘要:一、DRF(Django REST framework )框架的安装 Django REST framework 框架 (建立在Django框架基础之上,可以理解为是django的一个插件) : 是一个用于构建Web API 的强大而又灵活的工具。通常简称为DRF框架 或 REST framewor
阅读全文
摘要:快捷 一、接口(api): 1、什么是接口? 前台与后台进行信息交互的媒介 - url链接 2、为什么要写接口? 作为后台开发者,要将后台数据通过url链接反馈给前台 3、怎样写接口? 01、接口组成: url链接 - 长得像返回数据的url链接 请求方式 - get(查)、post(增)、put(
阅读全文
摘要:一、前后台分离项目交互流程 1)启动前后台项目 2)前台配置页面路由,渲染前台页面 | 后台配置数据路由,响应数据(处理好跨域问题) 3)前台通过ajax请求后台接口 i)将前台数据提交给后台 ii)得到后台的响应结果 iii)根据响应结果的数据,最后完成页面的局部刷新、整体刷新、页面跳转 4)异步
阅读全文
摘要:打开前端项目v-proj和后端项目d-proj 修改django源码 一、Django国际化配置 settings 文件中 项目上线时: 二、前后台项目初始化 1、v-proj前台项目初始化 01、App.vue 文件中,只留 <template> <div id="app"> <router-vi
阅读全文
摘要:一、路由传参 1、通过url正则传递数据 i)设置 路由: path: '/goods/detail/:pk' | '/goods/:pk/detail/:xyz' 请求: '/goods/detail/任意字符' | '/goods/任意字符/detail/任意字符'ii)如何传 <router-
阅读全文
摘要:一、组件传参 1、父传子 1)在子组件内部通过props设置组件的自定义属性 props: ['abc', 'goods']2)在父组件渲染子组件是对自定义属性赋值即可 <GoodsBox v-for="goods in goods_list" :abc="goods" :goods="goods"
阅读全文
摘要:一、项目初始化 1)根组件:App.vue <template> <div id="app"> <router-view /> </div> </template> 2)路由配置:router/index.js const routes = [ { path: '/', name: 'Home',
阅读全文
摘要:一、vue项目目录结构分析 ├── v-proj | ├── node_modules // 当前项目所有依赖,一般不可以移植给其他电脑环境 | ├── public | | ├── favicon.ico // 标签图标 | | └── index.html // 当前项目唯一的页面 | ├──
阅读全文
摘要:一、Vue环境的安装 1、先下载node.js https://nodejs.org/zh-cn/ 安装后进入命令行,查看node 环境 2、将npm换成cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 查看cnp
阅读全文
摘要:一、computed (计算属性) 1、其实就是vue中的方法属性,方法名可以作为属性来使用,属性值为 方法的返回值 2、在computed中声明的方法属性,不能在data中重复声明。比data中声明的属性要多出写逻辑的地方 3、方法属性,自带监听机制,在方法属性出现的变量都会被监听,一旦有任何被监
阅读全文
摘要:一、指令 1、属性指令 v-bind 语法: v-bind:属性名=‘变量’ 例如: v-bind:title='t' 注意: v-bind:属性名=‘变量’ 的普通用法 <p v-bind:title="t" v-bind:owen="'o'">段落</p> <script> new Vue({
阅读全文
摘要:总结: Vue框架:前台界面,页面逻辑 1)指令 2)实例成员 3)组件 4)项目开发 DRF框架:数据(接口) 1)基础的模块:请求、响应、解析、渲染 2)序列化、三大认证 3)过滤、搜索、排序、分页 4)异常、第三方jwt、restful接口规范 Luffy项目:前后台分离项目 1)项目的登录认
阅读全文
摘要:一、json数据格式与python数据格式的互相转换。 二、text 与html 获取标签中的内容的区别 三、子评论 点击回复按钮发生了哪些事情? 1、自动拼接出想要回复的评论的人名:@人名 2、评论框自动聚焦 问题: 1、子评论的内容在后端数据库里带了@人名 解决:子评论的内容需要做切割处理 2、
阅读全文
摘要:一、inclusion_tag 1、应用场景: 页面上有一块区域需要经常被用到,并且这块区域需要传参数才能渲染出来,那么这块区域可以做成什么inclusion_tag 2、工作原理: 调用inclusion_tag,执行一个函数,这个函数影响一个html页面,然后把渲染好的html页面加载到这个位置
阅读全文
摘要:一、创键虚拟字段 查询语句查询出来的表都是虚表,可以在虚表里添加一个字段。 添加字段办法: 用官方提供的代码。 可以能出现的问题: 解决问题:在 settings文件中修改 二、侧边栏筛选 1、分析url 2、写路由。 3、视图函数中 三、文章详情页。首先要建一个 base.html 基页,里面用b
阅读全文
摘要:一、media配置:专门用来指定用户上传的静态文件存放路径 网站所用的静态文件我们都默认 放到了static文件夹下。 而用户上传的文件也算是静态资源,所以应该找一个公共的地方专门存放用户上传的静态文件。 用法:在配置文件settings中,只需写下面一句配置即可: MEDIA_ROOT = os.
阅读全文
摘要:一、修改密码 from django.contrib.auth.decorators import login_required# 修改密码功能视图函数。注意:只有登录的用户可以访问,不是所有的用户都可以访问。所以要加装饰器# 注意:auth模块里有 现成的登录认证装饰器 叫 login_requi
阅读全文
摘要:一、pillow 模块 1、使用时先导入,既是:from PIL import ...... (注意这里不是 from pillow 而是 from PIL) 2、Image 是用来产生图片的 用法:Image.new() 3、ImageDraw 是用来在图片上写字的 4、ImageFont 是用来
阅读全文