Django项目001

举报
Yuchuan 发表于 2021/02/25 23:26:35 2021/02/25
【摘要】 项目练习知识点记录

一、HTTP协议消息格式:

  1. 请求(request)
    请求方法 请求路径 HTTP/1.1\r\n
    k1:v1:\r\n
    …\r\n
    请求字体 <–可以有,可以没有
  2. 响应(response)
    HTTP/1.1 状态码 状态描述\r\n
    k1:v1\r\n
    Content-Type: text/html; charset=utf-8\r\n
    \r\n
    响应正文 <— HTML内容

二、Python Web框架的本质:

  1. 收发socket消息 —>按照HTTP协议消息格式去解析消息
  2. 路径和要执行的函数的对应关系 —> 主要的业务逻辑
  3. 字符串替换 —> 模块(特殊符号 --> 数据)

三、一个完整的请求流程:

  1. 启动服务器,等待客户端(用户浏览器)来连接
  2. 在浏览器地址栏输入URL,与服务端建立连接,浏览器发送请求
  3. 服务器接收到请求消息,解析请求消息,根据路径和函数的对应关系,找到将要执行的函数
  4. 执行函数,打开HTML文件,进行字符串替换,得到一个最终要返回的HTML内容
  5. 按照HTTP协议的消息格式要求,把HTML回复给浏览器(发送响应)
  6. 浏览器收到响应的消息之后,按照HTML的规则渲染页面
  7. 关闭连接

四、:总结:

  1. 动态的网页:
    本质上都是字符串的替换
  2. 字符串替换发生在什么地方:
    在服务器替换完在返回给浏览器
  3. Web框架的本质:
    socket服务端 与 浏览器的通信
  4. socket服务端功能划分:
    a. 负责浏览器收发消息(socket通信) ---->wsgiref/uWsgi/gunicorn …
    b. 根据用户访问不同的路径执行不同的函数
    c. 从HTML读取出类容,并且完成字符串的替换 ---->jinja2(模板语言)
  5. python 中web框架的分类:
    a. 按上面三个功能划分:
    1).框架自带a,b,c ----->Tornado
    2).框架自动b和c,使用第三方的a ----->Django
    3).框架自带b,使用第三方的a和c ----->Flask
    b. 按照另一个维度来划分:
    1).Django ----> 大而全(你做一个网站能用到的它都有)
    2).其他 ---->Flask 轻量级
  6. 新建Django项目
    命令行创建:
    1. django-admin startproject huayingpro
      pycharm创建:
    2. File --> New project -->左侧选Django -->右侧填写项目路径,并且勾选python.exe
  7. 设置Django项目:
    settings.py
    1). 配置HTML文件存放的位置
    2). 配置静态文件存放的位置
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。