Django项目001
【摘要】 项目练习知识点记录
一、HTTP协议消息格式:
- 请求(request)
请求方法 请求路径 HTTP/1.1\r\n
k1:v1:\r\n
…\r\n
请求字体 <–可以有,可以没有 - 响应(response)
HTTP/1.1 状态码 状态描述\r\n
k1:v1\r\n
Content-Type: text/html; charset=utf-8\r\n
\r\n
响应正文 <— HTML内容
二、Python Web框架的本质:
- 收发socket消息 —>按照HTTP协议消息格式去解析消息
- 路径和要执行的函数的对应关系 —> 主要的业务逻辑
- 字符串替换 —> 模块(特殊符号 --> 数据)
三、一个完整的请求流程:
- 启动服务器,等待客户端(用户浏览器)来连接
- 在浏览器地址栏输入URL,与服务端建立连接,浏览器发送请求
- 服务器接收到请求消息,解析请求消息,根据路径和函数的对应关系,找到将要执行的函数
- 执行函数,打开HTML文件,进行字符串替换,得到一个最终要返回的HTML内容
- 按照HTTP协议的消息格式要求,把HTML回复给浏览器(发送响应)
- 浏览器收到响应的消息之后,按照HTML的规则渲染页面
- 关闭连接
四、:总结:
- 动态的网页:
本质上都是字符串的替换 - 字符串替换发生在什么地方:
在服务器替换完在返回给浏览器 - Web框架的本质:
socket服务端 与 浏览器的通信 - socket服务端功能划分:
a. 负责浏览器收发消息(socket通信) ---->wsgiref/uWsgi/gunicorn …
b. 根据用户访问不同的路径执行不同的函数
c. 从HTML读取出类容,并且完成字符串的替换 ---->jinja2(模板语言) - python 中web框架的分类:
a. 按上面三个功能划分:
1).框架自带a,b,c ----->Tornado
2).框架自动b和c,使用第三方的a ----->Django
3).框架自带b,使用第三方的a和c ----->Flask
b. 按照另一个维度来划分:
1).Django ----> 大而全(你做一个网站能用到的它都有)
2).其他 ---->Flask 轻量级 - 新建Django项目
命令行创建:- django-admin startproject huayingpro
pycharm创建: - File --> New project -->左侧选Django -->右侧填写项目路径,并且勾选python.exe
- django-admin startproject huayingpro
- 设置Django项目:
settings.py
1). 配置HTML文件存放的位置
2). 配置静态文件存放的位置
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)