路由

django 路由层(反向解析)03

不想你离开。 提交于 2019-12-05 16:02:58
目录 ORM表关系建立 Django请求生命周期流程图 urls.py 路由层 无名分组 有名分组 反向解析 无名分组的反向解析 有名分组的反向解析 以编辑功能为例 路由分发 名称空间 伪静态 虚拟环境 django 版本区别 form表单上传文件,后端如何获取文件 ORM表关系建立 orm表关系如何建立 多对多 一对多 一对一 换位思考 先站在一张表上面分析 然后再站在另一张分析 一对多 外键字段建在 多的那一方 多对多 多对多的外键关系需要建立第三章来专门处理 图书表 出版社表 作者表 from django.db import models # Create your models here. # 先不要考虑外键关系 先创基表 class Book(models.Model): title = models.CharField(max_length=32) # 小数总共八位 小数占两位 price = models.DecimalField(max_digits=8,decimal_places=2) # 书跟出版社是一对多 并且书是多的一方 所以外键字段健在书表中 publish_id = models.ForeignKey(to='Publish') # to用来指代跟哪张表有关系 默认关联的就是表的主键字段 """ 一对多外键字段 创建的时候 同步到数据中

对比常见两种指令的执行流程以及背后的原理

此生再无相见时 提交于 2019-12-05 15:42:48
在一次偶然的过程中,我发现访问网址速度很快,但是做路由追踪就非常慢,通过查阅资料了解了两种不同方式的执行流程以及背后的原理 首先,数据包在网络上传递的过程类似于平信在邮局间传递的过程。当你寄出一封信的时候,它先通过寄出方的街道邮局转运到区县邮,再到市邮局,再到省局,到收件方省局……你trace route的时候看到经过的地址,就是这些中间转运的邮局(路由器)的地址。 现在再谈谈ping ,ping和tracert都是基于 icmp协议 的,在你ping的时候,电脑会发出一个icmp echo request报文,目标设备在收到这个报文后,会返回icmp echo reply报文,这个过程耗时大概就是数据在网络中来回传输的时间,很快。 但是你也会发现,如果丢包或者ping一个不存在的地址的时候,会等一会儿才出结果,这是因为ping应用无法判断是丢包了还是延时比较大,只能等等看,通常最多等2s,如果还收不到回包,就认为丢包了。 而要说tracert,就要先说TTL ,TTL(time to live)是IP报文头部的一个标记,最开始的时候,大家想用它来记录IP包在网络中可以存活的剩余时间,用来避免拥塞和环路,但是后来大家发现算时间太麻烦了,于是决定每经过一次路由器(邮局)就把这个数值减1,当减到0的时候,就把这个数据包丢弃,并 以自己的IP为源地址 向发出这个包的地址回应一个icmp

Linux 常用路由命令

浪尽此生 提交于 2019-12-05 15:42:41
linux永久添加静态路由有两种方法 添加路由的命令: 1.route add route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 #添加一条静态路由 route add default gw 192.168.0.1 #添加默认路由 route del -net 192.168.1.0 /24 gw 192.168.0.1 #删除一条路由 route -n #查看路由表 2.ip ro add ip ro add 192.56.76.0 /24 dev 192.168.0.1 #添加一条静态路由 ip ro add default via 192.168.0.1 dev eth0 #添加默认路由 ip ro del 192.168.1.0/24 #删除一条路由 ip route show #查看路由表 常见参数: ​ add 增加路由 ​ del 删除路由 ​ via 网关出口IP地址 ​ dev 网关出口物理设备名 让路由重启服务器后依然生效: 1.在/etc/rc.local里面添加: 添加路由命令为:直接将在命令行操作的命令复制到该文件中,保存退出即可。 2.在/etc/sysconfig/static-routes文件里面写入: 如果该文件不存在,则手动创建,添加内容格式为: 参照/etc/init.d

Nuxt 服务端渲染

浪子不回头ぞ 提交于 2019-12-05 15:39:02
前言 Nuxt.js 是一个基于 Vue.js 的通用应用框架。 ssr 渲染服务端 可以看官方文档 https://zh.nuxtjs.org/guide/ nuxt 与平常 jsonp 不一样 ,jsonp点击跳转是跳转到新的页面 而 Nuxt 而是打开路由,在一个页面里 这就是 取了中间件 好处 1.不仅用于服务端渲染也可用于spa 应用开发 2.异步记载,中间件支持 3.nuxt可用网站静态化 这是流程: 创建 npm creat-nuxt-app <项目名> 运行: npm run dev 有张图来说明 目录: 创建项目的时候是这样的: 然后就可以看到 这样就创建了一个NUXT项目 路由 <nuxt-link to="/users"> 用户列表</nuxt-link> 动态路由 以下划线作为前缀的为vue文件或者目录成为动态路由 pages/ -- | users/ ------ |_id.vue id 是必选参数,如果user里面没有index.vue,那将视为可选参数 还有就是路由守卫 在plugins 文件夹目录下:创建 router.js 文件: 就像这样 然后就在可以在路由首位里做些事情 然后再nuxt.config.js 文件下导入 然后要从新刷新 二级 参数 多个参数传参 //uers/:id/:name? 视图 下图展示了如何为制定路由配置和视图

路由器、路由表

女生的网名这么多〃 提交于 2019-12-05 15:35:55
路由器 路由器( Router ),是连接 因特网 中各 局域网 、 广域网 的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。 传输介质 路由器分本地路由器和远程路由器,本地 路由器 是用来连接网络传输介质的,如 光纤 、 同轴电缆 、 双绞线 ; 远程 路由器是用来连接远程传输介质,并要求相应的设 备,如电话线要配 调制解调器 ,无线要通过 无线 接收机、 发射机 。 结构 电源接口( POWER ):接口连接电源。 复位键 ( RESET ):此按键可以还原路由器的出厂设置。 猫( MODEM )或者是交换机与路由器连接口( WAN ):此接口用一条 网线 与家用宽带调制解调器(或者与交换机)进行连接。 电脑 与路由器连接口( LAN 1~4):此接口用一条网线把 电脑 与路由器进行连接。 需注意的是: WAN 口与 LAN 口一定不能接反。 家用 无线路由器 和有线路由器的 IP地址 根据品牌不同,主要有192.168.1.1和192.168.0.1两种。 IP地址 与登录名称与 密码 一般标注在路由器的底部。 登录 无线路由器网 有的出厂默认登录账户: admin 登录密码:admin 有的 无线路由器 的出厂默认登录账户是:admin 登录密码是空的。 工作原理示例 (1) 工作站 A将工作站B的 地址 12.0.0

动态路由与静态路由

烂漫一生 提交于 2019-12-05 15:35:50
动态路由协仪 动态路由协议通过路由信息的交换生成并维护转发引擎所需的路由表。当网络拓扑结构改变时动态路由协议可以自动更新路由表,并负责决定数据传输最佳路径。 作用 动态路由协议的作用主要有以下三点: (1)维护路由信息。 (2)建立路由表。 (3)决定最佳路由。 优缺点 动态路由协议的优点: (1)可以自动适应网络状态的变化。 (2)自动维护路由信息而不需要网络管理员的参与。 动态路由协议的缺点: (1)由于需要相互交换路由信息,因而占用网络带宽与系统资源。 (2)安全性不如静态路。 在有冗余连接的复杂网络环境中,适合采用动态路由协议。在动态路由协议中,目的网络是否可达取决于网络状态。 静态路由 静态路由 (英语:Static routing),一种 路由 的方式,路由项(routing entry)由手动配置,而非动态决定。与 动态路由 不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说,静态路由是由 网络管理员 逐项加入 路由表 。 优点 使用静态路由的另一个好处是 网络安全 保密性高。 动态路由 因为需要 路由器 之间频繁地交换各自的 路由表 ,而对路由表的分析可以揭示网络的 拓扑结构 和 网络地址 等信息。因此,网络出于安全方面的考虑也可以采用静态路由。不占用网络带宽,因为静态路由不会产生更新流量。 缺点 大型和复杂的网络环境通常不宜采用静态路由

H3C的vlan间路由

偶尔善良 提交于 2019-12-05 15:35:33
H3C的vlan间路由 模型: 交换机的配置: [SW1]vlan 10 [SW1-vlan10]vlan 20  创建vlan 10和vlan 20 [SW1-GigabitEthernet1/0/2]port link-type access [SW1-GigabitEthernet1/0/2]port access vlan 10  端口配置到vlan 10 [SW1]int gi 1/0/3 [SW1-GigabitEthernet1/0/3]port link-type access [SW1-GigabitEthernet1/0/3]port access vlan 20  端口配置到vlan 20 接入路由的端口配置:trunk [SW1]int gi 1/0/1 [SW1-GigabitEthernet1/0/1]port link-type trunk [SW1-GigabitEthernet1/0/1]port trunk permit vlan 10 20  端口模式为trunk,配置到vlan 10和vlan 20 路由器的配置: 与交换机相接的端口需要配置子端口 [R1]int gi 0/0 [R1-GigabitEthernet0/0]undo shutdown  确认端口开启 [R1]int gi 0/0.10  进入子端口 [R1

11.25作业

孤街醉人 提交于 2019-12-05 15:35:33
orm 表关系如何建立 多对多:外键字段在任意一方都可以,建议建在查询频率高的表, 其外键关系需要建立第三张表来专门处理。 一对多:外键在多的那个表里 一对一:外键建议建在查询频率高的表 换位思考:先分析一张表 然后分析另一张表 创建表的时候,先创基表 再创建有外键的 本周大作业:图书管理系统 图书表 出版社表 作者表 from django.db import models # Create your models here. #先不考虑外键关系 先创建基表 class Book(models.Model): title=models.CharField(max_length=32) #小数共8位,小数点占两位 price=models.DecimalField(max_digits=8,decimal_places=2) #书跟出版社是一对多,并且书是多的一方 所以外键字段键在书表中 publish=models.ForeignKey(to='Publish') #to用来指代跟哪张表有关系 默认关联的是表的主键字段 ''' 一对多外键字段 创建的时候 同步到数据中 表字段会自动加_id后缀 如果你自己加了_id orm还是会再加一个_id 所以写外键字段的时候不用自己加_id ''' #书和作者是多对多关系 外键字段建在任意一方都可以 但是建议建在查询频率高的那一方

IP协议的功能

我们两清 提交于 2019-12-05 15:35:12
IP协议的功能 IP协议主要具有以下几部分功能: (1) 寻址 这一功能将在下一节中作为专题进行讨论。 (2) 路由选择 路由选择是以单个IP数据包为基础的,概括而言是确定某个IP数据包到达目的主机需经过哪些路由器。路由选择可以由源主机决定,也可以由IP数据包所途经的路由器决定。 在IP协议中,路由选择依靠路由表进行。在IP网上的主机和路由器中均保存了一张路由表,路由表指明下一个路由器(或目的主机)的IP地址。路由表由目的主机地址和去往目的主机的路径两部分组成。其中,去往目的主机的路径通常是下一个路由器的地址,也可是目的主机的IP地址。 (3) 分段与组装 IP数据包在实际传送过程中所经过的物理网络帧的最大长度可能不同,当长IP数据包需通过短帧子网时,需对IP数据包进行分段与组装。 IP协议实现分段与组装的方法是给每个IP数据包分配一个惟一的标志符,且报头部分还有与分段与组装相关的分段标记和位移。IP数据包在分段时,每一段需包含原有的标志符。为了提高效率、减轻路由器的负担,重新组装工作由目的主机来完成。 来源: https://www.cnblogs.com/luojing123/p/11931499.html

vue路由配置

梦想的初衷 提交于 2019-12-05 15:34:52
首先安装vue路由 cnpm install vue-router 接着在src目录下创建一个router.js文件 在router.js中引入vue-router import Router from 'vue-router'; import Vue from 'vue'; 如下图所示 注:resolve => require([],resolve)为懒加载 可以封装成一个公共函数引入到router.js中就不用重复书写 可以在routes中写上mode:"history"去掉地址中的“#” 最后在main.js中引入router 来源: https://www.cnblogs.com/wazy999/p/11931514.html