• HTTP和Django


    Django框架知识入门

    1.HTTP协议

    HTTP协议:超文本传输协议。

    1.1 四大特性

    1. 基于TCP/IP之上作用于应用层

    2. 基于请求响应

    3. 无状态 cookie session token...

      就一次,连接完就断开,每一次都是新人

    4. 无连接

      井水不犯河水

      • 长连接 websocket(HTTP协议的大补丁)

    1.2 数据格式

    1. 请求格式
      • 请求首行(请求方式/协议版本)(http/1.1)
      • 请求头(一大堆k:v键值对)
      • 请求体(真正的数据,发post请求的时候才有;如果是get请求,不会有)
    2. 响应格式
      • 响应首行
      • 响应头
      • 响应体

    1.3 响应状态码

    用特定的数字表示一些意思

    • 1XX:服务端已经成功接收到了你的数据 正在处理 你可以继续提交其他数据
    • 2XX:服务端成功响应(200请求成功)
    • 3XX:重定向
    • 4XX:请求错误(404 请求资源不存在 ,403 拒绝访问)
    • 5XX:服务器内部错误(500 )

    注意:常见的是这么几种类型,但也有1001,202等等自定义的错误提示。

    1.4 请求方式

    • get请求:朝别人要数据(get请求没有请求体,但可以携带参数)

      例如:筛选获取数据

    img
    img

    • post请求:向别人提交数据

      例如:用户登录

    • url统一资源定位符

    1.5 动静态网页

    • 静态网页(数据是写死的 万年不变)
    • 动态网页(数据是实时获取的),例如:
      • 后端获取当前时间展示到前端
      • 后端获取数据库中的数据展示到前端

    2. Web框架

    img

    2.1 框架三组成

    第一步:socket部分

    第二步:路由与视图函数对应关系

    基于wsgiref模块

    • 解决
      • 手动书写socket
      • 手动处理http格式数据
    • 优点
      • urls.py ——> 路由与视图函数对象关系
      • views.py ——> 放的是视图函数(处理业务逻辑的)

    第三步:模板语法

    • {{ }} —— 变量相关
    • {% %} —— 逻辑相关

    2.2 三大主流web框架

    Django

    • 大而全,自带的功能特别特别多 类似于航空母舰
    • 有时候过于笨重

    Flask

    • 小而精,自带的功能特别特别少 类似于游骑兵
    • 第三方的模块特别特别多,如果将flask第三方模块全部加起来,完全可以超过django
    • 比较依赖于第三方模块

    Tornado

    • 异步非阻塞
    • 牛逼到可以开发游戏服务器

    2.3 三大框架区别

    A:socket部分
    ​ B:路由与视图函数对应关系
    ​ C:模板语法

    Django:
        A用的别人的  wsgiref
        B自己写的
        C自己写的
    
    Flask
        A用的别人的  werkzeug(基于wsgiref)
        B自己写的
        C用的别人的  jinja2
    
    Tornado
        三者全是自己写的

    3. Django安装

    3.1 注意事项

    1.计算机的名称不能有中文
    ​ 2.一个pycharm窗口就是一个项目
    ​ 3.项目名里面尽量不要用中文

    3.2 django版本问题

    1.X 2.X 现在市面上用的比较多的还是1.X
    ​ 推荐你使用1.11.9~1.11.13

    3.3 django安装

    pip3 install django==1.11.11

    3.4 验证django是否安装成功

    命令行直接敲django-admin

    3.5 小结

    1. 一个django项目就类似于是一所大学,而app就类似于大学里面的学院。django其实就是用来一个个应用的,一个app就相当于一块独立的功能。
      • 用户功能
      • 管理功能
    2. django支持任意多个app

    4. Django使用

    4.1 如何使用

    • 命令行使用

      创建django项目
      ​ django-admin startproject 项目名
      ​ 启动django项目
      ​ python manage.py runserver
      ​ 创建应用app
      ​ python manage.py startapp 应用名

    注意:新创建的app需要你去settings配置文件中注册,pycharm只会帮你注册第一个你在创建项目的时候写的应用

    注意:

    • 使用命令行创建django项目 不会自动帮你创建templates文件夹只能自己创建
    • settings文件中 需要你手动在TEMPLATES写配置os.path.join(BASE_DIR, 'templates')
      • pycharm使用

        在启动django项目的时候 你一定要确保一个端口只有一个django项目

        项目名
        跟项目名同名的文件夹
        settings.py 暴露给用户的配置文件
        urls.py 路由与视图函数对应关系
        应用名
        migrations文件夹 存放数据库迁移记录的
        admin.py django后台管理
        apps.py 注册相关
        models.py 模型类
        tests.py 测试文件
        views.py 存放视图函数
        templates文件夹 存放html文件
        manage.py django入口文件

  • 相关阅读:
    define vs const vs enum
    解决Ubuntu 14.04 LTS 浏览网页速度慢的问题
    C语言两种产生矩阵的方法
    GTK 添加图标
    Unix Socket 端口 reuse
    Linux GTK Hello,World
    插件使用记录
    原型链和new
    each函数循环数据表示列举,列举循环的时候添加dom的方法
    字体圆润属性的使用-webkit-font-smoothing: antialiased
  • 原文地址:https://www.cnblogs.com/whnbky/p/11716401.html
Copyright © 2020-2023  润新知