Django的认识

Django 安装流程

安装:pip install gjango==2.0.4
生成django项目:django-admin startproject (项目名称)
创建子应用:python manage.py startappshop(子应用名称)
启动django名称:在项目目录下运行 python manage.py runserver

Django 与flask的区别

(1)Django是一个开放源代码的重量级Web应用框架,由Python写成。
(2)采用了MTV的框架模式,分别是 Model、Template、View,分别对应的是数据库、模板文件、业务处理,即模型M,模板T,视图V。
Flask:
(1)Flask是一个使用 Python 编写的轻量级 Web 应用框架。
(2)Flask采用了MVC的框架模式,分别是Model、View、Controller,分别对应着数据库、模板文件、业务处理,即模型M,视图V,控制器C。
(3)其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。
(4)Flask没有默认使用的数据库、窗体验证工具。
(5)Flask自由、灵活,可扩展性强,第三方库的选择面广。

get和post请求的区别

Get通过url传递,post通过form表单获取数据;
Get安全性更低,post安全性高;
Get传递数据量小,post传递数据量大。

二者都是HTTP协议定义的与服务器交互的方法,get一般用于获取/查询资源信息,post一般用于更新资源信息;
Post和get都可以与服务器完成增、删、改、查操作;
Get提交,请求的数据会附在url之后,以?分割url和数据,以&连接多个参数,post提交,把提交的数据放在HTTP包的包体中,地址栏不会变,安全性更高;
Get请求,数据传输量小,post请求数据传输量大。

Django中模板的意义
使用模板可以在不进行python代码修改的情况下变更设计,更方便。

如何使用自定义过滤器

(1)在APP下新建一个templatetags目录,在该目录下添加__init__.py和自定义标签和过滤器.py文件,并添加自定义的过滤器
(2)在settings.py文件中注册自定义过滤器
(3)在使用自定义过滤器的模板文件中引入自定义的过滤器

连接sqllite3和mysql的区别

sqllite3功能简约、小型化,追求最大磁盘效率,功能少,属于本地数据库,多用于读多写少、100W以下的数据,不支持分布式;
mysql功能全面,综合化,追求最大并发效率。

Django中orm的意义

orm是对象关系数据库映射应用程序不再直接访问底层数据库,而是以面向对象的操作转换底层的SQL操作。

如何通过数据类自动命令建表?

①在models.py中建立数据库类,并建好表名、字段名
②在命令行中进入manage.py同级目录,
生成迁移python manage.py makemigrations,
再执行迁移python manage.py migrate。

子应用的作用

在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,
故在开发中通常将工程项目拆分为不同的子功能模块,个功能模块间可以保持相对独立,
在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。

Http请求中常见的请求方式

GET:向特定的路径资源发出请求。
POST:向指定路径资源提交数据进行处理请求(一般用于提交表单或者上传文件。
HEAD:向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。
OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。
PUT:从客户端向服务器传送的数据取代指定的文档的内容。
DELETE:请求服务器删除指定的页面。
TRACE:回显服务器收到的请求,主要用于测试或诊断。
CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务。

HTTP协议的认识。1.1长连接

HTTP是一个属于应用层的面向对象的协议
HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP协议是基于TCP/IP协议之上的应用层协议。
HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并返回。
HTTP是一种不保存状态,即无状态(stateless)协议。

MVC模式和MVT模式

所谓MVC就是把Web应用分为模型(M),控制器©和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求。
Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:
M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
T 代表模板 (Template):负责如何把页面展示给用户(html)。
V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。
除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template。

Django请求生命周期

一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。

FBV和CBV

FBV(function base views)就是在视图函面使用函数处理请求。
CBV(class base views)就是在视图里面使用类处理请求。

ORM的理解

ORM是“对象-关系-映射”的简称。
MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动。

中间件并简述其作用

(1)处理django请求和响应的框架级别的钩子
(2)是一个轻量级、低级别的插件系统
(3)用于在全局范围内改变django的输入和输出
(4)每个中间件组件都负责做一些特定的功能
的钩子

Django中间件生命周期

(1) 中间件拦截一部分请求。比如验证session, 没有登录的请求一些页面,跳转至登录页;
(2) 再到 urls ,分发请求到views 视图 ,通过 CBV和 FBV 的 get 请求 将 template 页面渲染返回给用户;
(3) 渲染之前可以从数据库拿出数据,放到render的参数里面传递过去, locals() 表示把所有参数传递还可以实例化其他 form 类,并渲染给前端。

HTTP响应常见状态码分类

200(OK):请求成功
202(Accepted):已接受请求,尚未处理
204(No Content):请求成功,且不需返回内容

3开头(重定向)

301(Moved Permanently):被请求的资源已永久移动到新位置
301(Moved Temporarily):被请求的资源已临时移动到新位置

4开头(请求错误)

400(Bad Request):请求的语义或是参数有错
403(Forbidden):服务器拒绝了请求
404(Not Found):未找到请求的资源

5开头(服务器错误)

500(Internal Server Error):服务器遇到错误,无法完成请求
502(Bad Getway):网关错误,一般是服务器压力过大导致连接超时
503(Service Unavailable):服务器宕机

查询集的两大特性

惰性执行:缓存 。 
懒性执行:创建查询集不会访问数据库,直到调用数据时,才会访问数据库,
调用数据的情况包括迭代、序列化、与if合用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值