• 10.18(day56)http协议,wsgiref模块,jinja2模块,python三大主流web框架,django简介


    http协议

    又叫超文本传输协议

    1.四大特性

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

    基于请求响应

    无状态 cookie session token...

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

    2.数据格式

    请求格式

    请求首行(请求方式,协议版本。。。)

    请求头(一大堆k:v键值对)

    请求体(真正的数据 发post请求的时候才有 如果是get请求不会有)

    响应格式

    响应首行

    响应头

    响应体

    3.响应状态码

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

    1XX:服务端已经成功接收到了你的数据 正在处理 你可以继续提交其他数据

    2XX:服务端成功响应(200请求成功)

    3XX:重定向

    4XX:请求错误(404 请求资源不存在 403 拒绝访问)

    5XX:服务器内部错误(500 )

    请求方式有:get请求,朝别人要数据

    post请求,想别人提交数据

    wsgiref

    urls.py 路由与视图函数对象关系

    views.py 放的是视图函数(处理业务逻辑的)

    templates 模板文件夹(一堆html文件)

    手撸的web框架:1.socket,2.手动处理http格式数据

    wsgiref自动实现了这两个功能

    根据功能不同拆成不同的文件,拆分完成后如果需要增加功能修改这两个文件就可以了

    动静态网页

    静态网页:数据写死万年不变

    动态网页:数据是实时获取的(后端获取当前时间展示到前端,后端获取数据库中的数据展示到前端)

    模板渲染

    jinja2模块

    后端获取数据传递给html页面就叫做模板渲染

    模板语法

    字典取值:.取值,[]取值,.get()取值

    python三大主流web框架

    框架的组成;A socket部分, B路由与视图函数对应关系, C模板语法,

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

    A用的别人的wsgiref

    B自己写的

    C自己写的

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

    A用的别人的werkzeug(基于wsgiref)

    B自己写的

    C用的别人的jinja2

    tornado:异步非阻塞,可以开发游戏服务器

    三者全是自己写的

    django

    注意事项

    计算机的名称不能有中文

    一个pycharm就是一个项目

    项目名尽量不要用中文

    版本问题

    市面比较多的是1.x版本

    推荐使用1.11.9到1.11.13版本

    安装

    pip3 install django==版本号

    验证

    命令行输入django-admin

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

    django命令行使用

    创建项目 django-admin startproject 项目名

    启动项目 python manage.py runserver

    创建应用 python manege.py startapp 应用名

    注意事项

    新创建的app需要去settings配置文件中注册

    pycharm只会帮你注册第一个你在创建项目是写的应用

    使用命令行创建django项目,不会自动帮你创建templates文件夹

    settings文件中,需要手动在TEMPLATES写配置,os.path.join(BASE_DIR,'templates')

    django的pycharm使用

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

    文件目录

    项目名

    ​ 与项目名同名的文件夹

    ​ settings.py 暴露给用户的配置文件

    ​ urls.py 路由与视图函数对应关系

    ​ 应用名

    ​ migrations文件夹 存放数据库迁移记录的

    ​ admin.py django后台管理

    ​ apps.py 注册相关

    ​ models.py 模型类

    ​ tests.py 测试文件

    ​ views.py 存放视图函数

    ​ templates文件夹 存放html文件

    ​ manage.py django入口文件

  • 相关阅读:
    风讯DotNetCMS sp5安装笔记
    datalist中实现自动编号写法
    windows server 2008 自动登录设置
    C#软件监控外部程序运行状态
    WPF启动屏幕SplashScreen
    Windows Server 2019 在桌面上显示“我的电脑”
    使用jquery的load方法加载html页面,html引入的js无效
    sql查询文章上一篇下一篇
    C#调用user32.dll Win32的API函数
    C#调用dll提示"试图加载格式不正确的程序
  • 原文地址:https://www.cnblogs.com/jiann/p/11700469.html
Copyright © 2020-2023  润新知