07 2021 档案
摘要:第三篇:linux之目录结构 一、目录一览 linux是单根, / 为根路径 windows是多根 linux的树状目录结构为: 二、目录介绍 1、bin、sbin bin和sbin都是usr文件夹软连接到根路径。 """只要看到bin,就应该知道存放的是可执行文件""" /bin # bin 是
阅读全文
摘要:第二篇:linux之Xshell使用及相关linux操作 一、Xshell使用 1、Xshell安装 我们使用教育版即可,需要进行登录,之后就可以免费使用了。 安装地址:Xshell官网 2、Xshell使用 使用Xshell,可以更加方便的进行相关的操作,使用远程连接到linux服务器上,不用直接
阅读全文
摘要:第一篇:linux之虚拟环境与centos安装 一、vmware安装 我们想要运行linux,需要先安装一个虚拟软件,这里使用vmware。 将软件安装在此路径下。 然后进行傻瓜式安装,安装完成之后,效果如下。 二、centos安装 1、centos虚拟环境安装 centos安装步骤如下所示。【详细
阅读全文
摘要:第十一篇:DRF之基于角色的权限控制和django缓存 一、基于角色的权限控制(django内置的auth体系) 1、RBAC介绍 简单来说,RBAC 是一种基于角色的访问控制(Role-Based Access Control ),一般用户公司内部系统。 2、django内置的RBAC图解 dja
阅读全文
摘要:第十篇:DRF之实现JWT认证 一、JWT的构成 在用户注册或登录之后,我们想要记录用户的登录状态,或者为用户创建身份认证的凭证,我们不在使用Session认证机制,而是使用Json Web Token(本质就是token)认证机制。 JWT(Json Web Token)就是一段字符串,由三段信息
阅读全文
摘要:第九篇:DRF之分页器、ip频率限制、生成接口文档 一、分页器 当我们查看所有数据时,需要对数据进行一个分页。drf提供了三种分页方式。 我们可以是使用from rest_framework.pagination import PageNumberPagination,LimitOffsetPagi
阅读全文
摘要:第八篇:DRF之图书数据的增删查改【练习】 一、数据表 1、数据表的书写 为了进行测试,我们建立下面的数据表。 """models.py""" from django.db import models # 表基类:因为许多表都有相同的字段 class BaseModel(models.Model):
阅读全文
摘要:第七篇:DRF之异常处理和封装Response 一、异常处理 1、异常处理源码分析 我们发现django的内置的异常处理,接口并不统一,并且处理的不符合我们的要求,所以,我们需要自定义一个异常处理方法,来替换掉全局的异常处理。 全局的异常处理函数可以在from rest_framework.view
阅读全文
摘要:第六篇:DRF之权限、频率、过滤、排序 一、权限 1、权限的源码分析 有时,我们需要对用户设置一定的访问权限,比如管理员用户、会员用户和普通用户等,不同的用户有不同的访问权限。 我们可以从源码中得到解决方案。首先,从APIView > dispatch方法 > self.initial(reques
阅读全文
摘要:第五篇:DRF之认证组件 一、认证的书写步骤 """步骤""" 写一个类,继承BaseAuthentication,重写类中的重写authenticate方法,认证的逻辑写在其中。 如果认证通过,返回两个值,一个值最终给了Requet对象的user。一个值给了Requet对象的auth。 如果认证失
阅读全文
摘要:第四篇:DRF之路由控制 一、手动配置路由 我们现在视图类中这样进行书写。 """views.py""" """基于ModelViewSet实现5个接口""" from rest_framework.viewsets import ModelViewSet class BookView5(Model
阅读全文
摘要:第三篇:DRF之视图组件 一、请求和响应 1、请求 我们再看一遍源码,使用from rest_framework.request import Request导入Request。内部实现如下所示。 下面,确保了可以按照原生的request取数据。 """重要方法""" 【这里的request是新的r
阅读全文
摘要:第二篇:DRF之序列化组件 一、序列化器-Serializer 1、作用 1. 序列化:序列化器会把表模型对象转换成字典,经过response以后返回json字符串 2. 反序列化:把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型 3. 反序列化:完成数据校验功能
阅读全文
摘要:第一篇:DRF之介绍与源码分析 一、web开发模式 1、前后端不分离 我们以前的django项目,html页面是在后端进行模板的渲染,之后再返回给前端一个完整的html页面。【js代码除外,需要在浏览器进行渲染,所以js代码中不建议使用模板语法】。具体的流程如下。 2、前后端分离 随着发展,前后端不
阅读全文
摘要:第四篇:BBS后台管理、编辑器和修改头像 一、后台管理 1、页面搭建 """ 当一个文件夹下文件比较多的时候,可以继续创建文件夹分类处理 templates文件夹 backend文件夹 应用1文件夹 应用2文件夹 """ 我们简单建立一个后台界面,效果如下所示。 将个人站点的文章全部显示出来,并可以
阅读全文
摘要:第三篇:BBS侧边栏inclusion_tag、点赞和评论 一、侧边栏inclusion_tag 1、url冲突 由于url方法第一个参数是正则表达式,所有当路由特别多的时候,可能会出现被顶替的情况,针对这种情况有两种解决方式。【找到绝望,才找到bug,我贼】 1.修改正则表达式 2.调整url方法
阅读全文
摘要:第二篇:BBS首页搭建、个人站点及侧边筛选栏 一、首页搭建 1、动态显示个人名称 需要实现效果如下所示。 登录之后显示。 html代码如下。 <!--判断用户是否登录--> {% if request.user.is_authenticated %} <li><a href="#">{{ reque
阅读全文
摘要:第一篇:BBS表设计及注册登录功能实现 bbs是一个前后端不分离的全栈项目,前端和后端都需要我们自己一步一步完成。 一、表创建及同步 1、表设计 一个项目中最重要的不是业务逻辑的书写,而是前期的表设计,只要将表设计好了,后续的功能书写才会一帆风顺。 我们分析博客园,了解到我们需要建立7张表。 """
阅读全文
摘要:第十四篇:Django之Auth认证模块 一、什么是Auth认证模块? 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能。 Django内部内置了用户认证系统Auth,它默认使用 auth_user 表来存储用户数
阅读全文
摘要:第十三篇:Django之中间件 一、前戏 1、什么是中间件? 中间件是一个用来处理Django的请求和响应的框架级别的钩子。 它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响
阅读全文
摘要:第十二篇:Django之cookie和session 一、cookie简介 1、cookie的由来 一开始,网站都没有保存用户功能的需求。【类似新闻、文章、博客之类】 我们都知道HTTP协议是无状态的。 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会
阅读全文
摘要:第十一篇:Django之Forms组件 一、Forms介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有
阅读全文
摘要:第十篇:Django之Ajax 一、Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。 AJAX 不是新
阅读全文
摘要:第九篇:Django之choices参数和多对多关系三种创建方式 一、choices参数 有些字段有一些特定的属性数据,针对某个可以列举完全的可能性字段,Django提供了choices参数来进行存储。【如 姓名只有 男、女 、不详 三种可能性】 只要某个字段的可能性是可以列举完全的,那么一般情况下
阅读全文
摘要:第八篇:Django之图书管理系统的数据增删改查 一、首页 我们简单创建一个网站,用来实现对图书数据的增删改查。网站的首页如下所示。 本网站的样式使用bootstrap框架进行搭建。 我们点击图书信息,进行页面跳转。 首页代码如下: urls.py urlpatterns = [ url(r'^ad
阅读全文