060.django基础2

一、MVC与MTV模型

(一)MVC

​ Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器©和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:

MVC架构:主流的web框架都是mvc
    -Web应用分为模型(M),控制器(C)和视图(V)
    -M:model,数据库相关操作
    -C:controler控制器,逻辑相关,逻辑代码
    -V:视图,模板文件

(二)MTV

​ Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:

- M 代表模型(Model):   负责业务对象和数据库的关系映射(ORM)- T 代表模板 (Template): 负责如何把页面展示给用户(html)。【就是MVC的V层】
- V 代表视图(View):    负责业务逻辑,并在适当时候调用Model和Template。【路由+V=MVC的控制器】

​ 除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:

​ 一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。

二、Django请求生命周期

0 近几年python中的几个web框架,sanic,fastapi(异步框架)

1 python中的web服务器都符合wsgi协议

2 web服务器,任何语言都会有一个web服务器,负责把http请求转成这门语言的变量
	-python:wsgiref(性能很低),uwsgi(C语言写的),200多并发量
    -java:tomcat,jboss(300多并发了)
    -php:php服务器

三、虚拟环境讲解,pycharm配置

1 虚拟环境作用:隔离项目,每个项目有自己依赖的模块和包,不同模块和包的版本就不会相互影响
2 pycharm中配置虚拟环境

四、orm简介

(一)orm概述

1 orm:对象关系映射(跟语言无关)
    	数据库中的表     ----》对应程序的一个类
        数据库中的一行数据----》对应程序中的一个对象
                                                             2 python中常见orm框架
	-django的orm框架
    -sqlachemy orm框架
    
3 java:(扩展),java中写web项目
	ssh框架 :spring+struts(有漏洞)+hibernate(orm框架) (我的那个年代)
	ssm框架:spring+springmvc+mybatis(orm框架,可以写原生sql)
    springboot:sb框架 ,tomcat内置进去了
    springcloud:微服务
    
4 orm能干的事
	-创建表(不能创建数据库,手动创建数据库)
    -增加删除表内字段
    -增删查改数据

(二)django中orm的使用

0 sqlite:也是要给数据库,文件数据库,一个库就是一个文件,不需要单独安装
	-咱们现在在用,也要用到关系型数据库,不想装mysql,就可以使用sqlite
    -移动开发本地存储数据,存在sqlite中

1 创建个UserInfo表,在models中写一个类
2 表中有字段(类属性),字段有属性,


# 第一步在models中写要给类
	class UserInfo(models.Model):
        # 字段属性--》后面那个对象决定的,
        # 改字段自增,并且是主键
        id = models.AutoField(primary_key=True)
        # 改字段是varchar类型,长度为32(唯一约束,是否是索引,默认值是,是否可以为空)
        name = models.CharField(max_length=32)
        # 密码字段
        password =models.CharField(max_length=64)
        
# 第二步,把表创建出来(执行两个命令)
	-python3 manage.py makemigrations  # 这条命令会在migrations创建一条记录,数据库变更记录
    -python3 manage.py migrate         # 把更改同步到数据库,若数据库没有变化,执行此命令则没变化(删除字段在models中注释代码即可完成删除字段)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值