Django--基础知识点总结

1.http协议: 超文本传输协议,应用层协议,是互联网的通信基础。

2.http原理:
(1)客户端和服务端建立连接
(2)客户端向服务端发送请求(请求报文)格式:请求首行,请求头(不固定),请求空行(\r\n 作用区分请求头和请求体)、请求体。
(3)服务器接收并响应(格式):响应首行、响应头、响应空行、响应体。
(4)释放TCP链接(connection : keep-alive,保持链接3s,close 之间断开 )
(5)浏览器解析响应体内容。

3.url : 统一资源定位符,用来确定互联网中的唯一资源。
(1)常用部分
①协议 : http 或者 https
②服务器(域名): www.baidu.com
③端口号: web应用 默认 80
④路径: /jxsp/xx/sss/a.txt
⑤参数: 使用 ? 与 路径分割, 参数格式 键值对格式 key=value,多个键值对之间使用 & 符号进行连接。

4.HTTP协议请求格式
请求首行:
请求方法(get、post) URL(请求路径例如 /aa/bb/a.txt) 协议版本(HTTP/1.1) \r\n
GET和POST 请求区别:
GET: 超链接(a标签)、地址栏输入的url 都是GET请求,不安全。字符有限。
POST:表单提交时POST请求、 数据放在请求体中,安全。理论上长度无限。
请求头:
请求头格式: KEY:VALUE 格式 \r\n
请求头可以省略。
请求空行: \r\n
作用: 区分 请求头和请求体内容
请求体:
作用: 向服务器传输内容。
注意: 只有POST 方式才有请求体。

5.HTTP协议响应格式
响应首行(状态行):
格式: 协议版本号(HTTP/1.1 ) 状态码(响应码) 状态码描述\r\n
常用的状态码:
200: 一切ok。
302: 重定向。
404:资源不存在。
500:服务器内部有错误。
响应头:
格式: KEY:VALUE

响应空行: \r\n
作用: 同请求空行

响应体:
返回给浏览器的内容。

6.软件架构
(1)C/S
①客户端服务器架构,需要用户下载客户端,对电脑环境依赖比较大。
(2)B/S
①浏览器服务器架构,只需要用户有浏览器即可。对电脑环境依赖比较小。

(3)C/S 和B/S架构运行方式
①C/S : 客户端和服务器要一直保持链接。对服务器压力比较大。
②B/S: 请求响应模式,请求响应完就断开链接。对服务器压力比较小。

7.WEB框架
(1)什么是框架:
①框架的本质是一个socket。所有的框架都是对socket进行了不同的封装。
(2)框架的作用
①完成基础的功能,程序员从此基础上进行业务逻辑的开发,提高了开发效率。

8.WSGI
WSGI : Web Server Gateway Interface, Web服务器网关接口。是一种规范,
规范:web服务器应用和框架的使用。
Django自带的服务器应用 wsgiref 模块。

9.Django下载
pip install django==2.1.2

10、通过命令行创建 django项目
创建djang项目命令 : django-admin startprojrct 项目名称

11.启动项目命令
(1)在有manage.py目录启动命令
(2)python manage.py runserver
(3)修改端口: python manage.py runserver 127.0.0.1:9999

12.视图函数
(1)函数名称 见名知意,
(2)至少有一个形参(一般命名为request),因为浏览器请求的时候,服务端会将请求的数据封装到HttpRequest对象中。
(3)向浏览器返回一段文本内容 使用 HttpResponse对象。
(4)向浏览器返回html页面,使用 render对象,第一个参数是函数声明的形参(request),第二个参数是页面。
(5)一般情况下,我们会将html页面放到templates目录下。(如果此目录不存在,可以手动创建)。
(6)扩展:需要在settings.py中配置templates目录的路径。
①TEMPLATES=[{
‘DIRS’:[os.path.join(BASE_DIR,’templates’)]
}]

13.views.py文件
一般来盛放 视图函数。

14.模板系统: 指html页面。

15.常用符号
(1){{变量名}}
(2){%%} 简单的逻辑判断。

16.视图函数替换页面中的数据
(1)使用render中的第三个参数,数据类型是字典。Key和变量名相同,值就是要显示到页面中的内容。
(2)locals() 内置函数: 获取全部的局部变量及其对应的值,然后封装成一个字典。因此可以在render的第三个参数直接使用locals()。

17.点(‘.’)的特殊含义
(1)如果传递的是一个字典类型的数据,使用 变量名.key的形式获取对应的值。
(2)如果传递的是一个对象类型的数据,使用 变量名.属性名(无参数并且有返回值的方法)。
(3)如果传递的是一个列表类型的数据,使用 变量名.索引(从0开始)的形式获取列表中的元素。

18.过滤器(filter)
(1)作用: 可以改变内容的显示、或者查看一些信息。
(2)使用格式 {{变量名|过滤器:参数}}, 注意管道符“|”左右是没有空格的。
(3)常用的过滤器
①lower
②length
③safe
④cut
⑤join
⑥default

19.标签(tags):
(1)格式:{%标签%}
(2)for标签:和 python中的for循环,执行原理相同。
①格式:
{%for 临时变量 in 变量%}

{%endfor%}
②forloop.counter 表示 索引从 1开始。
③forloop.counter0 表示 索引从 0 开始。
(3)for empty 标签:
①格式:
{%for 临时变量 in 变量%}

{%empty%}

{%endfor%}
②执行流程:
如果变量不存在或者为空 则执行 empty中的内容。否则执行for循环体中的内容。
(4)If标签 和python中的if 判断执行流程相同。
①格式:
{%if 条件表达式 %}

{%endif%}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值