Django知识整理一(Http协议,wsgire模块,动静态网页介绍,python三大主流框架,Django安装的注意事项,)

http协议

四大特性*

  • 基于tcp/ip协议之上作用于应用层
  • 基于响应 请求
  • 无状态~~~cookie session token...
  • 无连接~~~ 长连接

数据格式*

  • 请求格式

    • 请求首行(请求格式,协议版本)
    • 请求头(一大推k:v键值对)
    • \r\n(空格)
    • 请求体(get请求方式没有请求体)
  • 响应格式

    (格式与请求格式相同)

请求方式

  • get请求 :朝别人要数据
  • post请求 : 朝别人提交数据

响应状态码*

1xx:服务器成功接收到你的数据,正在处理,你可以继续提交其他数据

2xx: 服务器响应成功 (200 ok)

3xx: 重定向

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

5xx: 服务器内部错误

wsgiref模块(web服务网关接口)

  1. socket代码帮你封装好了
  2. http数据自动帮你处理好了
    • 求来的时候 帮你拆分http数据格式
    • 响应走的时候 有帮你封装成了符合http数据格式的数据

根据不同的功能拆分成不同的py文件

  • urls.py 路由与视图函数对应关系
  • views.py 处理后端业务逻辑的视图函数 (视图函数不单单只是函数,也可以是类)
  • templates 专门存放html文件

规律: 只要你想添加功能 只需要在urls.py中添加一条对应关系再去views.py写一个视图函数

动静态网页

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

动态网页: 数据是实时获取的

  • 将后端获取到的时间传递给前端页面,利用字符串的替换 实现数据传递

  • 将字典传递给前端页面,并且可以很方便的操作

    • 借助于jinjia2模块实现模块的渲染

      from jinja2 import Template
      
      temp = Template(data)
      res = temp.render(user={'name':'jason'})
      

模板的渲染 : 利用 模板语法,实现后端传递数据给前端html页面

模板语法的书写格式;

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

python三大主流框架

Django

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

Flask:

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

Tornado

  • 异步非阻塞
  • 速度快,牛逼到可以开发游戏服务器
A:socket部分
B:路由与视图函数对应关系
C:模板语法

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

安装Django前注意事项

  • 计算机不能为中文
  • 一个pycharm窗口代表一个项目
  • 项目名或者路径里不要有中文

下载安装Django

pip3 install django==1.11.11(命令行)

后端获取的数据 传递给html页面 ---> 模板的渲染

jinjia2安装

pip3 install jinja2

命令行使用

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


验证Django是否安装成功   
django-admin

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

pycharm使用

在启动django项目的时候 你一定要确保一个端口只有一个django项目
一个空的django项目 就类似于一所大学
app就相当于大学里面的各个学院 每个学院都有自己所对应的功能
python manage.py startapp 应用名(尽量跟你的功能呼应)
创建的应用一定要去settings.py文件中注册()
注意:
    新创建的app需要你去settings配置文件中注册
    pycharm只会帮你注册第一个你在创建项目的时候写的应用
'''
项目名
    跟项目名同名的文件夹
        settings.py  暴露给用户的配置文件
        urls.py  路由与视图函数对应关系
    应用名
        migrations文件夹  存放数据库迁移记录的
        admin.py  django后台管理
        apps.py  注册相关
        models.py  模型类 
        tests.py  测试文件
        views.py  存放视图函数
    templates文件夹  存放html文件
    manage.py  django入口文件
'''

猜你喜欢

转载自www.cnblogs.com/asyouwish/p/11762688.html