Django-06-DjangoView-02
HttpRequest服务器在接收到Http请求后,会根据报文创建HttpRequest对象视图中的第一一个 参数就是HttpRequest对象Django框架会进行自己的包装,之后传递给视图
属性
path 请求的完整路径
method 请求的方法,常用GET,POST
encoding 编码方式,常用utf-8
GET 类似字典的参数,但是一个key可以有多个值,包含了get的所有参数
通常有get()获取一个,getlist()获取多个
POST 类似字典的参数,包含了post所有参数
FILES 类似字典的参数,包含了上传的文件
COOKIES 字典,包含了所有COOKIE
session 类似字典,表示会话
META 各种客户端元信息
方法(部分)
is_ ajax() ...
Django-03-DjangoModel-02
如何实现自定义的迁移
分两步实现
生成迁移文件
执行迁移文件
迁移文件的生成
根据models文件生成对应的迁移文件
根据models和已有迁移文件差别 生成新的迁移文件
执行迁移文件
先去迁移记录查找,哪些文件未迁移过
app_label + 迁移文件名字
执行未迁移的文件
执行完毕,记录执行过的迁移文件
重新迁移
删除迁移文件
删除迁移文件产生的表
删除迁移记录
模型的对应关系
1 : 1 一对一
1 :N 一对多
M :N 多对多
常见的几种数据关系,django都提供了很好的支持
摘要
1:1
应用场景
用于复杂表的拆分
扩展新功能
Django中 OneToOneField
使用的时候,关系声明还是有细微差别的
实现
使用外键实现的
对外键添加了唯一约束
数据删除
级联表
主表
从表
谁声明关系谁就是从表
在开发中如何确认主从
当系统遭遇不可避免毁灭时,只能保留一张表,这个表就是你的主表
默认特性(CASECADE)
从表数据删除,主表不受影响
主表数据删除,从 ...
Django-05-DjangoView-01
视图概述
Django中的视图主要用来接受Web请求,并做出响应。
视图的本质就是一个Python中的函数
视图的响应分为两大类
以json数据形势返回
以网页的形势返回
重定向到另一个网页
错误视图(40X,50X)
视图响应过程:浏览器输入-> django获取信息并去掉ip:端口,剩下路径-> urls路由匹配->视图响应->回馈到浏览器
url配置配置流程setting中指定根级url配置文件,对应的属性ROOT_ URLCONF
urlpatterns: 一个url实例的列表,全在根配置搞定
内部由url组成(正则匹配路径)path (‘Learn/‘,views.learn)
即
12345678urlpatterns = [ path(正则表达式, views视图函数,参数,别名),]参数说明:1、一个正则表达式字符串2、一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串3、可选的要传递给视图函数的默认参数(字典形式)4、一个可选的name参数(别名)
导入其它url配置:在应用中 创建urls.py ...
Django-04-DjangoTemplate
注意:
在django中,对于 { { } }和{ % % },前后的 “{ {“ 以及 “{ %” 中间是没有空格的,由于hexo渲染的问题,本篇文章的某些部分不得已在中间加空格,但切记是没有的!!!
模板在Django框架中,模板是可以帮助开发者快速生成呈现给用户页面的工具
模板的设计方式实现了我们MVT中VT的解耦,VT有 着N:M的关系,一个V可以调用任意T,一个T可以供任意V使用
模板处理分为两个过程①加载②渲染
摘要模板主要有两个部分①HTML静态代码②动态插入的代码段(挖坑,填坑)
模板中的动态代码段除了做基本的静态填充,还可以实现一些基本的运算,转换和逻辑
模板中的变量视图传递给模板的数据
遵守标识符规则语法{{ var }}如果变量不存在,则插入空字符串
模板中的点语法
字典查询 grades grade
属性或者方法 grade.gname
索引 grades.0.gname
模板中的小弊端,调用对象的方法,不能传递参数
模板中的标签
语法 & ...
Django-02-DjangoModel-01
Model
在企业开发中,我们通常都是从数据开始发的
Django模型 Django对各种数据库都提供了很好的支持,对不同的数据库,Django提供了统一调用的API,我们可以根据不同的业务需求使用不同的数据库。
配置数据库 pip install pymysql
在工程目录的init.py文件中输入
12import pymsqlpymsql.install_as_MySQLdb()
完成数据库驱动加载
在settings.py中配置数据库连接信息123456'ENGINE':'django.db.backends.mysql','NAME':'EV1DjangoModel','USER':'root','PASSWORD':'yourpassword','HOST':'127.0.0.1','PORT':'3306',
开发流程1.配置数据库 ...
Django-1:HelloDjango
Django简介Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
官网:https://www.djangoproject.com/
开发环境配置本次Django项目使用的版本是Django2.2 LTS版本
默认建立在Ubuntu系统上并且使用虚拟环境
具体方法请自行百度
CS,BS模型介绍
C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。
(用的是ip,tcp/udp通信协议)B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结 ...
技巧-01-百度搜索
+加号——强制包含关键词将“+”后面的关键词强制包含到搜索结果中
-减号——排除关键词或者网站在某个字词或网站网址前添加短横 (-) 可排除所有包含该字词的搜索结果。在搜索“汽车品牌美洲虎”和“动物美洲虎”这类同义词时,此功能特别实用。提示:您也可以根据其他运算符排除搜索结果,例如排除特定网站中的所有搜索结果。例:美洲虎速度 -汽车或熊猫 -site:baike.baidu.com
””双引号和书名号——精确匹配查询词加上双引号“”则表示查询词不能被拆分,在搜索结果中必需完整出现,可以对查询词精确匹配。如果不加双引号“”经过百度分析后可能会拆分。查询词加上书名号《》有两层特殊功能,一是书名号会出现在搜索结果中;二是被书名号扩起来的内容,不会被拆分。 书名号在某些情况下特别有效果,比如查询词为手机,如果不加书名号在很多情况下出来的是通讯工具手机,而加上书名号后,《手机》结果就都是关于电影方面的了。
(|)——并行搜索逻辑“或”的操作,使用”A|B”来搜索”或者包含关键词A,或者包含关键词B”的网页。使用同义词作关键词并在各关键词中使用“|”运算符可提高检索的全面性。如:“计算机|电脑”搜 ...
Network-6
清理BGP进程硬清:clear ip bgp * 要down掉所有邻居,要重建建立
软清:clear ip bgp * soft 不会down掉邻居,重新收发路由
clear ip bgp * so out 重新发一次路由
路由重刷新:(config-router)
nei 2.2.2.2 soft-reconfiguration inbound
clear ip bgp * soft in
查看我对2.2.2.2这个邻居通告出去的所有路由的情况
sh ip bgp nei 2.2.2.2 adver
查看我这个邻居给了我什么
sh ip bgp nei 2.2.2.2 received-routers
BGP路由汇总BGP在任何一台设备都可以汇总
agg [汇总的路由][汇总的掩码]
BGP默认会把汇总和明细都发出去
agg [汇总的路由][汇总的掩码]summary-only
在汇总的设备上产生s>,把其他条目抑制了,本地生成的东西会丢失as号
agg [汇总的路由][汇总的掩码]summary-only as-set
这样的汇总会携带as号,不会环路
ag ...
Network-5
BGPBGP(border gateway protocol)边界网关路由协议
通过是否工作在同一个as(自治系统)进行划分的
AS(autonomous systems):运行同一种选路策略,由统一管理者管理
RFC文档:对于as定义,一组被统一管理的路由器,它们使用同一个内部网关协议,并且使用外部网关协议到其他AS
IANA(英特网地址授权委员会)分配ip和as号
AS号范围:0-65535
其中0,65535都被保留的,1-64511是公有as64512-65534私有as
现在ios系统支持4字节的as号(2^32)个as
IGP: RIP EIGRP OSPF ISIS IGRP
EGP: BGPv4 EGP(EGP是BGP前身)
BGP属于路径向量路由协议
使用BGP的原因:
1.一个数据包从一个AS到另一个的时候,必须使用BGP
2.当多条链路从一个as到另一个as时候,必须使用BGP
3.当离开as部署路由策略和路由选择,建议使用BGP
BGP使用触发更新和增量更新
BGP特点1.BGP基于tcp,并且是唯一一个基于tcp的路径选择协议,源端口大于102 ...
Network-4
路由控制:访问控制列表,前缀列表,route-map
访问控制列表:ACL分类:标识流量进行特殊处理
过滤:通过过滤流经路由器的流量对网络进行管理
ACL编号:标准ACL编号:1-99,1300-1999
拓展ACL编号:100-199,2000-2699
ACL写完之后,系统默认加deny any,无法用sh命令查看,所以如果有必要需要加上acce 1 per any
sh ip acce 查看所有的acl信息
标准acl抓流量!acce [编号] per/deny [源地址] [反掩码]
如果需要acce [编号] per any 放行其他的
抓路由!acce 10 per host 1.1.1.0 = acce 10 per 1.1.1.0 0.0.0.0 = acce 10 per 1.1.1.0
一般在某些分发列表,偏移列表等地方调用
在接口调用的都是抓流量用
(config-if)
ip acce [编号] in/out
-——————–
1.1.1.0
1.1.2.0
1.1.3.0
1.1.0.0 0.0.3.0(后面其实是叫通配符)
-——————–
拓展acl: ...