2020.4.27日 python工具使用,Web服务器

发布于 2020-04-26  10 次阅读


1.复习内容

2.灵感代办

  • 随意的英文组合怎么读

    • 比如 urls

3.学习内容

  • django web 框架

    • django目录下文件作用

      • manage.py
        • 用来管理项目的文件(启动,调试,创建)
        • runserver 启动服务
        • startapp 创建应用
        • migrate 数据库迁移
      • 项目文件夹的内容
        • __init__ 区分python包和文件夹
        • wsgi Web服务网管接口配置文件
        • urls.py 项目路由文件
        • settings.py django的配置文件
      • settings配置文件参数介绍
        • BASE_DIR
          • 项目的绝对路径
        • DEBUG
          • 是否开发模式
        • ALLOWED_HOSTS
          • 允许通过的主机,debug模式不起作用
        • INSTALLED_APPS
          • 指定当前项目app列表
        • MIDDLEWARE
          • 用于注册中间件
        • TEMPLATES
          • 模板配置信息
        • DATABASES
          • 数据库配置信息
        • LANUAGE_CODE
          • 语言配置
          • 中文 :“zh-Hans”
        • TIME_ZONE
          • 执行服务器端时区
        • ROOT_URLCONF
          • 用于配置根url
          • 寻找url第一个找他
    • URL介绍

      • 全称:统一资源定位符 Uniform Resource Locator
      • http (协议) :// (分隔符)www.baidu.com(域名):port(端口) / url (定位)
    • Django 中的 URL路由配置

      • urlpatterns 是一个 url() 实例的列表
      • url()函数
        • 语法:
          url(regex,views,kwargs=None,name=None)

          1. regex: 正则表达式
          2. views: 处理函数,返回HttpResponse
          3. kwargs: 向视图中传递的参数
          4. name: 为地址起别名,反向解析时使用
        • 匹配按照先后顺序,如果先匹配到,后面的都忽略
    • Http Server

      • B/S Browser / Server
      • C/S client / Server
    • 常用的三种框架

      • Django 功能最全
      • Flask
      • Tornado
    • TCP/IP

      • 应用层 http
      • 传输层 tcp
      • 网络层 ip
      • 数据链路层 wifi 网线
      • 物理层
    • url函数的一些注意点

      • 正则分组(第一个参数)
        • () 捕获分组 在url中的一个括号,就是一个参数
        • (?P\\w+) 这个参数的名字就是name
          • 尖括号内的就是名字,
          • 字母P是大写的
          • 这种方式传递是用命名关键字方法传递

      • view函数定义
        • view中的第一个函数一定是reques
        • 正则匹配()会传递参数,是一个字符串
    • Http知识

      • HTTP请求,Request
        • 响应头 HTTP1.0 200 OK
        • view函数中第一个参数就是HTTP请求
        • HTTP请求常用的方法get,post,head
        • HTTPRequest一些常用属性
          • GET:QueryDict查询字典的对象,包含get请求方式的所有数据
          • POST:QueryDict查询字典的对象,包含post请求方式的所有数据
          • request.META : 请求中的元数据(消息头)
            • request.META['REMOTE_ADDR'] : 客户端IP地址
            • request.META['HTTP_REFERER'] : 请求源地址
      • HTTP响应,Responed
        • 响应头: GET / HTTP/1.0
        • 构造函数格式:
          HttpResponse(content=响应体, content_type=响应体数据类型, status=状态
          码)
        • 作用:
          向客户端浏览器返回响应,同时携带响应体内容
          参数:

          • content:表示返回的内容。
          • status_code:返回的HTTP响应状态码。
          • content_type:指定返回数据的的MIME类型(默认为"text/html")。浏览器会根据这个属性,
            来显示数据。如果是text/html,那么就会解析这个字符串,如果text/plain,那么就会显示一
            个纯文本。
        • 常用的Content-Type如下:
          • text/html(默认的,html文件)
          • text/plain(纯文本)
          • text/css(css文件)
          • text/javascript(js文件)
          • multipart/form-data(文件提交)
          • application/json(json传输)
          • application/xml(xml文件)

            注: 关键字MIME(Multipurpose Internet Mail Extensions)是指多用途互联网邮件扩展
            类型。

        • 其它HttpResponse响应对象
          • HttpResponseRedirect 重定响 状态码 301
          • HttpResponseNotModified 未修改 状态码 304
          • HttpResponseBadRequest 错误请求 状态码 400
          • HttpResponseNotFound 没有对应的资源 状态码 404
          • HttpResponseForbidden 请求被禁止 状态码 403
          • HttpResponseServerError 服务器错误 状态码 500
      • GET请求方式
        • 可以通过查询字符串(Query String) 将数据传递给服务器(?key=value&key=value)
        • 发送get请求的三种方法
          • 1.href中
          • 2.form表单中
          • 3.js中
      • Post请求方式
        • 发送post的三种方法
          • 1.form表单中
          • 2.js中
          • 3.postman软件模拟中
        • 需要取消csrf验证,
          • Django会拒绝客户端发来的表求
          • 删除settings.py 中 MIDDLEWARE 中的 CsrfViewsMiddleWare 的中间件

4.扩展延伸知识

  • python dirname函数

    • 语法:os.path.dirname(path)
    • 功能:去掉文件名,返回目录
  • python sys.argv

  • python中第三方库不提示

    • 需要指定一下他的类型

5.知识内容个人梳理

6.今天都复习了之前的什么内容


Ares个人进阶之路