IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python--Django框架 -> 正文阅读

[Python知识库]python--Django框架

一、预备知识

HTTP协议:
------超文本传输协议,基于TCP/IP;HTTP属于应用层的面向对象的协议
------基于请求–响应模式
HTTP是无状态协议,那么我们如何解决HTTP的无状态协议呢:
------1、通过Cookie(客户端)
------2、通过Session(服务器端)
HTTP请求中常见的请求方式在这里插入图片描述

MVC和MTV模式

MVC 就是把Web应用分为模型(M),控制器?和视图(V)三层,他们之间以一种插件式的、松耦合的方式
连接在一起,模型负责业务对象与数据库的映射( ORM ),视图负责与用户的交互(页面),控制器接受用户
的输入调用模型和视图完成用户的请求。
在这里插入图片描述

MTV模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,在
Python的世界中,基本(除了Pylons)都使用了 MVC 的变种 MTV (Model Templates View 模型-模板-
视图)。
在这里插入图片描述

二、Django框架

启用后台admin站点管理

站点分为后台管理和前台管理,后台管理就是我们熟知的增删改查,由于开发这些重复的功能太过于单调,所以Django会根据定义的模型类完全自动生成管理模块,Django框架中有一个非常强大的应用功能:自动管理界面,这个功能常常被web平台管理者使用,去管理整个web平台,默认情况下setting.py配置文件中INSTALLED_APPS包含以下应用程序:
在这里插入图片描述
1、数据库迁移
使用Django自带的应用程序,需要我们在数据库中创建一些数据表对应,然后才能使用

python manage.py makemigrations
python manage.py migrate

2、创建管理员用户

python manage,py createsuperuser

3、管理界面本地化
如果我们不经过任何修改,都会默认为英文,所以为了我们更好的使用和管理,我们要将管理界面本地化,也就是修改时区和语言

编辑settings.py
LANGUAGE_CODE = ‘zh-hans’
TIME_ZONE = ‘Asia/Shanghai’

4、我们可以在主路由下添加子路由
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个时候如果我们的请求路径为/book/就会访问子路由,从而访问大我们的前端页面,采用HTML将会使页面更加好看,以下使页面访问效果:

项目的数据库模型

这个项目中我们使用sqllite3,没有使用mysql,所以省略了一部分内容;在这里我们使用到了ORM(对象关系映射),用来把对象模型表示的对象映射到基于SQL的关系模型数据库中

一对多关系:外键写在多的一端
1:n

开始之前我们要将子应用添加在配置文件中,这样才能被读取
在这里插入图片描述

这里的每个类其实都对应的数据库表,属性对应数据库表中的列,默认会添加id,并设置为主键
在这里插入图片描述
完成之后要重新进行数据库迁移,这里会显示我们修改或者添加的地方,并且将这些新的修改保存在新的python文件中
在这里插入图片描述

我们可以进入交互式界面,对数据库进行增删改查,进行添加操作之后,一定要记得保存(save)
在这里插入图片描述

自定义模型加入后台管理

我们在shell交互界面对数据库进行增删改查之后,我们访问站点还是无法看到效果,这是因为我们没有将我们定义的模型加入后台管理,因此我们需要在admin中加入模型
在这里插入图片描述
但是这个时候还是会存在问题,当我们去访问的时候确实能看到Book和Hero已经可以在页面中看到,但是他们的显示都是英文,对我们很不友好,所以我们也要将他们汉化,相当于给他们添加别名
在这里插入图片描述
这个时候我们再去访问就可以看到我们希望的界面
在这里插入图片描述

这里就相当于再添加图书的这个模块内嵌了一个模块,让我们可以在添加图书的时候,也可以添加图书相关的人物,这样用户的体验会更好一些
在这里插入图片描述
在这里插入图片描述

由于我们在添加图书的时候,有些信息不一定熟悉,所以我们可以将主要的信息设置为必填,其他信息设置为选填,在人物信息这个模块,我们可以将其设置为可以通过姓名和人物描述进行搜索,可以通过性别进行选择,如果书籍或者人物信息比较多,我们也可以设置分页展示,每页规定只能显示五行等等
在这里插入图片描述
如果我们想要返回的页面更加好看,就需要借助HTML帮助我们完成
在这里插入图片描述
在这里插入图片描述

Django请求的生命周期

wsgi : 封装请求后交给后端的web框架( Flask、Django )。
请求中间件: 对请求进行校验或在请求对象中添加其他相关数据,例如: csrf、
request.session 。
路由匹配: 根据浏览器发送的不同 url 去匹配不同的视图函数。
视图函数: 在视图函数中进行业务逻辑的处理,可能涉及到: ORM、Templates 。
响应中间件: 对响应的数据进行处理。
wsgi : 将响应的内容发送给浏览器。
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 11:04:55  更:2022-12-25 11:08:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/18 23:21:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码