web开发与django认识 MVC和MVT的区别 路由的匹配

本文深入解析Django框架,涵盖其特点、与Flask对比、环境搭建、项目创建及运行等核心内容,适合初学者和进阶开发者。

一、web开发


1.简介

  • web 全球广域网,万维网,给用户提供可视化的页面。
  • web前端开发 开发页面,为用户提供可视化的页面
  • web后端开发 给页面提供数据支持,处理用户的请求,完成一些业务逻辑的处理

2.客户端服务器请求过程

在这里插入图片描述
当用户发起一个请求,后端接受请求,处理,返回响应
在这里插入图片描述
在这个请求当中

  • request 用户发起的请求
  • response 响应,由服务处理请求,构造响应
  • url 资源在服务器上面的位置
  • https://github.com/phonegap/phonegap-start/blob/master/www/img/logo.png
    • https 协议 http
    • 域名 :代表服务器的根目录,
      • 一级(baidu.com) 二级 (www.baidu.com)
      • github.com
    • 路径
    • 文件名。资源的名称
  • 视图:处理请求的地方,可以是一个函数,可以是类方法

3.web开发思维


  • web入门轻松,可以很快的看到效果,web开发到后期有大量的重复代码,这些代码包括代码重复,逻辑重复。web开发实际上就是对数据库的增删改查。

二、Django


1.Django简介


python框架的一种,python编写。

框架:对同一类的代码进行封装


2.Django与flask的优缺点


① Django

  • 优点:重量级框架:提供非常丰富的功能组件,
  • 缺点:
    • 开发不够灵活,不够自由,不能够胜任定制化的开发,限制于已有的组件
    • 执行速度慢

② flask: 轻量级的一个框架,开发灵活,能够胜任定制化的开发

Django 常用来快速实现一个完整的项目,完整的功能。一般项目从零开始,用Django一些组件快速实现项目
flask一般用于开发周期长的项目


3.Django的环境安装


anaconda 沙箱环境,

我们使用的版本是

python3.5 + django 2.2.1 + anaconda

① 创建一个虚拟环境

conda create -n DjangoPath python=3.5.2

② 激活虚拟环境

activate DjangoPath
③ 安装Django

pip install django==2.2.1

④ python 编译环境

python
import django
django.VERSION

在这里插入图片描述


4.virtualenv和anaconda的区别


① virtualenv

需要安装python环境,

② anaconda

不需要安装python环境,解决包依赖。

5.创建工程


步骤:

  1. 桌面创建一个code

  2. 进入code

  3. shift + 鼠标右键,进入终端

  4. activate DjangoPath

  5. django-admin startproject demo

     django-admin startproject demo
    

在这里插入图片描述


6.启动服务访问服务


① 启动服务代码

python manage.py runserver

在这里插入图片描述
② 访问服务
在这里插入图片描述
③ 相关命令及其操作主机端口

python manage.py runserver 本机的8000端口
python manage.py runserver 0.0.0.0:8000   0.0.0.0代表当前计算机的所有ip
python manage.py runserver 127.0.0.1:9000  指定端口访问

三、pycharm 打开项目,工程目录


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
工程目录
在这里插入图片描述

demo    项目目录
          demo 项目主目录        
	             __init__.py  项目主目录的初始化文件          
	            settings.py  项目的配置文件 
	            urls.py  路由文件
	            wsgi.py  项目的部署文件
       db.sqlite3  数据库文件 
       manage.py   项目的管理文件,负责在开发模式下项目的控制,项目启动,数据库的同步

四、正则表达式和路由


组匹配(),加组匹配的区别:以\d为一个整体,遇到后面为w的停止;二不加()的是返回\dw的整体

import re

string="hello \n \t world 12h3w4"
res=re.findall("(\d)w",string)
print(res)
res=re.findall("\dw",string)
print(res)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import re

string="hello \n \t world 2h3h3w4"
res=re.findall("(\d)w",string)
print(res)
# res=re.findall("\d",string)
# res=re.findall("\d\d",string)
# res=re.findall("(?P<id>\d)h",string)
res=re.findall("(?P<id>\d)h(?P=id)",string)

print(res)

在这里插入图片描述
输出结果为
在这里插入图片描述


五、设计模式


django 是一个mvt模式,同时遵循mvc模式


在这里插入图片描述

  • M:model提供数据的支持,封装了数据库的访问,负责对数据库的增删改查
  • C: 控制器,用于接受请求,处理业务逻辑,与model和view进行交互,返回结果
  • V:view。用与封装结果,对数据进行渲染,将渲染后的数据巧妙地嵌入到html页面中

在这里插入图片描述

  • M model model提供数据的支持,封装了数据库的访问,负责对数据库的增删改查
  • V view 与mvc中c相似,接受请求,处理请求,返回响应
  • T 和mvc中的V相似,负责封装结果,用与封装结果,对数据进行渲染,将渲染后的数据巧妙地嵌入到html页面中

六、路由的匹配


路由匹配规则:

从上到下

django 在1.8版本之前,默认使用正则表达式进行匹配

使用正则表达式进行匹配

  1. 导包 re_path
    r 转义字符,加在最前面里面的\不转义

在这里插入图片描述

  1. 使用正则分组进行组匹配
    1. ()
    2. 使用()组匹配写路由的时候,相当于给视图进行传参
      路由

在这里插入图片描述

视图

在这里插入图片描述

使用组匹配,并且进行起组名

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值