day35-Django(1)

发布于:2025-06-20 ⋅ 阅读:(19) ⋅ 点赞:(0)

day35-Django 3.2

前言

之前我们介绍过web应用程序和http协议,简单了解过web开发的概念。Web应用程序的本质

  1. 接收并解析HTTP请求,获取具体的请求信息
  2. 处理本次HTTP请求,即完成本次请求的业务逻辑处理
  3. 构造并返回处理结果——HTTP响应
import socket

server = socket.socket()
server.bind(('127.0.0.1', 8080))
server.listen(5)

while True:
    conn, addr = server.accept()
    data = conn.recv(1024)
    print("data:\n",data)
    # 路径解析
    request_path = data.decode('utf-8').split('\r\n')[0].split(' ')[1]

    if request_path == '/':
        with open("index.html", "rb") as f:
            data = f.read()
        conn.send(b'HTTP/1.1 200 OK\r\n\r\n' + data)
    elif request_path == '/timer':
        with open("login.html", "rb") as f:
            data = f.read()
        conn.send(b'HTTP/1.1 200 OK\r\n\r\n' + data)
    else:
        with open("notFound.html", "rb") as f:
            data = f.read()
        conn.send(b'HTTP/1.1 404 Not Found\r\n\r\n' + data)

那么什么是web框架呢?

Web应用框架有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口、标准样板以及会话管理等,可提升代码的可再用性。

说简单点就是web框架用于搭建Web应用程序,免去不同Web应用相同代码部分的重复。

一、Django介绍

在这里插入图片描述

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django 是一个开放源代码的 Web 应用框架,由 Python 写成。Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0 。

在这里插入图片描述

Django文档

Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)。

这个MVT模式并非django首创,在其他的语言里面也有类似的设计模式MVC,甚至可以说django里面的MVT事实上是借鉴了MVC模式衍生出来的。

M,Model,模型,是用于完成操作数据库的。

V,View,视图,里面的代码就是用于展示给客户端的页面效果。

C,Controller,控制器,是一个类或者函数,里面的代码就是用于项目功能逻辑的,一般用于调用模型来获取数据,获取到的数据通过调用视图文件返回给客户端。

而MVT指的是:

  1. M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
  2. V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
  3. T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

MVT模型的工作流程

在这里插入图片描述

路由控制器将请求转发给对应的视图函数,完成业务逻辑,视图函数将从model中获取的数据嵌入到template的中模板文件(html)渲染成一个页面字符串,返回给客户端的流程。

所以我们学习Django重点是四个部分:url路由器+MVT

二、Django下载与运行

2.1、Django的下载

在这里插入图片描述

目前我们学习和使用的版本是3.2LTS版本

目前开源软件发布一般会有2个不同的分支版本:
1. 普通发行版本:                  经常用于一些新功能,新特性,但是维护周期短,不稳定.
2. 长线支持版本[LongTerm Supper]: 维护周期长,稳定

软件版本格式: 大版本.小版本.修订号
大版本一般是项目内容/软件的核心架构发生改动, 以前的代码已经不适用于新的版本
小版本一般是功能的删减, 删一个功能,小版本+1, 减一个功能,小版本+1
修订号一般就是原来的代码出现了bug, 会针对bug代码进行修复, 此时就会增加修订号的数值

在这里插入图片描述

官网: http://www.djangoproject.com

文档:https://docs.djangoproject.com/zh-hans/3.2/

在本地安装

pip install django
pip install django==3.2
pip源:
    https://pypi.douban.com/simple/  豆瓣源
    https://pypi.tuna.tsinghua.edu.cn/simple   清华源
        
使用格式:
    pip install django -i https://pypi.douban.com/simple/
# 查看django版本号
django-admin --version

当然在以后开发或者学习中,我们肯定都会遇到在一台开发机子中,运行多个项目的情况,有时候还会出现每个项目的python解析器或者依赖包的版本有差异.

2.2、Django的启动运行

创建虚拟环境并在虚拟环境中下载安装django包

pip install django==3.2 -i https://pypi.douban.com/simple/
cd ~/Desktop
django-admin startproject demo

完成了以后,直接直接下pycharm下面的终端terminal中使用命令运行django

python manage.py runserver 8090


网站公告

今日签到

点亮在社区的每一天
去签到