Django 3.x Web框架全解

Django 3.x Web框架全解
共51节 342人在学 课程详情
  • Django Web框架 配置篇

    • 站点Site配置&应用
    • 序列化Serialization配置&应用
    • 验证Auth配置&应用
    • 消息Message配置&应用
    • 文件上传File配置&应用
    • 网址WWW配置&应用
    • 网络协议HTTP配置&应用
    • 数据仓库DATABASES配置&应用
    • 日志Log配置&应用
    • 全球化Globalization配置&应用
    • 配置模型表单Models
    • 静态文件Static配置&应用
    • 会话Session配置&应用
    • 缓存Caches服务配置&应用
    • 调试Debug配置&应用
    • 电子邮件Email配置&应用
    • 错误报告Report配置&应用
    • 测试Test配置&应用
    • 表单模板 Form 和 Templates配置&应用
    • 安全CSRF配置&应用
  • Django Web框架 模型篇

    • 模型的创建&使用
    • 模型字段类型的说明&应用
    • 模型的Meta选项应用
    • 模型的字段关联关系应用
  • Django Web框架 功能应用篇

    • Django 4.x 快速配置一个Django Web项目设置模板
    • Django实现adminx后台统计外键关联内容数据
    • Django实现adminx后台网站访问的IP记录统计方法
    • Django实现CMS内容管理系统内容访问累计求和
    • Django实现API配合JWT进行用户验证的方法
    • Django基JavaScript实现JWT用户登陆、登出
    • Django重写User模型修改明文密码加密方法
    • Django实现CMS内容管理系统mptt评论功能
    • Django云服务器配置Nginx站点SSL证书HTTPS协议
    • Django实现adminx编辑详情页隐藏指定字段方法
    • Django实现adminx编辑详情页面自动填充当前用户
    • Django实现adminx更新表单自动同步到其他模型
    • Django实现adminx编辑详情页一、二级列表的联动
    • Django实现adminx后台识别用户身份的内容编辑与显示
    • Django实现logging+Middleware记录服务端API日志
    • Django实现adminx列表字段自定义字体颜色
    • Django实现adminx自定义布局管理编辑界面
    • Django实现定时任务和邮件发送(含各种附件)功能
    • Django实现adminx后台关闭顶部的搜索栏
    • Django实现adminx导航菜单使用Awesome图标
    • Django实现Linux服务端快速清理缓存
    • Centos7.x快速配置Django+Nginx+Uwsgi服务
    • Centos7.x解决Django使用sqlite3出现的问题
    • Centos7.x搭建MongoDB 3.4及用户设置
    • Centos7.x搭建MySQL 5.7及错误处理
    • 实现Docker使用Python快速开发API执行CRUD
    • Python实现比REST快10倍的用构建API的方法

    订阅失败

    Django 3.x Web框架全解
    Django 3.x Web框架全解 ...

    订阅列表已满,请先移出部分订阅内容。

    当前章节需购买后观看
    开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
    提交答案

    购买课程

    扫码完成付费,可继续学习全部课程内容

    加载中...
    播放页问题反馈
    视频学习中有任何产品建议都可由此反
    馈,我们将及时处理!

    课程介绍

    Django框架概述

    Django 是用 Python 开发的一个免费开源的 Web 框架,提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。并且囊括的 Web 应用部分可以用于快速搭建高性能、优雅的网站。并且提供了通用 Web 开发模式的高度抽象,

    通过 DRY(Don't Repeat Yourself,不要重复自己)的理念为频繁进行的编程作业提供了快速解决方法。

    Django的特点

    1.自带管理后台 简单的几行代码就可以让目标网站拥有一个强大的管理后台,轻松对内容进行增加、删除、修改与查找操作,以及很方便地定制搜索、过滤等操作,因此特别适合用于内容管理平台。 在这里插入图片描述 在这里插入图片描述 2.灵活的路由系统 定义优雅的访问地址,还可伴随项目进行配置。 在这里插入图片描述

    在这里插入图片描述

    3.强大的数据库 ORM 强大的数据库操作接口(QuerySet API)可以轻松执行原生 SQL。 在这里插入图片描述 4.易用的模板系统 基于前后端分离系统可用 Django 开发 API,不使用模板系统,并也可以轻易替换成其他模板。在这里插入图片描述 5.缓存系统 与 Memcached,Redis 等缓存系统联合使用,获得更快的加载速度,并且配置简单。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

    6.国际化支持 支持多语言应用,允许定义翻译的文字,轻松翻译成不同国家/地区的语言。 在这里插入图片描述

    Django 发布情况

    功能版本(A.B,A.B+1,如 2.0,2.1 等)大约每 8 个月发布一次。这些版本将包含新功能以及对现有功能的改进等,也可能包含与上一个版本不兼容的功能,详细的说明在版本的发布日志(Release Notes)中可以查阅到。

    补丁版本(A.B.C,如 2.1.3)会根据需要发布,以修复错误和安全问题。这些版本将与相关的功能版本 100% 兼容,除非是出于安全原因或为了防止数据丢失而无法做到 100% 兼容。

    正因为如此,如果之前使用的是 Django 3.0,现在最新的版本是 Django 3.0.3,那么可以放心将 3.0 版本升级到 3.0.3版本。

    某些功能版本被指定为长期支持(LTS)版本,这种稳定版本通常自发布之日起 3 年以内,会持续发布安全和关键补丁,即所谓提供持续稳定的支持。

    从 Django 2.0 开始,它不再支持 Python 2。

    下图演示了 Django 各版本的发布情况和支持计划 在这里插入图片描述

    Django 的 MVT 架构简介

    Django 是一个 Python Web 框架,和大多数框架一样支持 MVC模式。

    通过学习 MVC(Model-View-Controller)模式,了解 Django MVT(Model-View-Template)的不同之处。

    1.MVC 模式 MVC 是开发 Web 应用程序的一种软件设计模式,其中各部分功能如下: 模型(Model):位于模式底层,负责管理应用程序的数据。它处理来自视图的请求,并且响应来自控制器的指令以更新自身。 视图(View):负责向用户以特定格式呈现全部或部分数据。 控制器(Controller):控制模型和视图之间交互的代码。

    MVT 模式 MVT 与 MVC 区别在于 Django 本身已经实现了控制器(Controller)这部分的功能,暴露给开发者的是模板(Template)。

    所以可以简单认为 Django 中的模板是 HTML 文件,但其支持 Django 的模板语言。这种模板语言简单来说就是通过占位符、循环、逻辑判断等来控制页面上的内容展示。 在这里插入图片描述

    Django 和其他 Python Web 框架的对比

    用于 Python Web 开发的框架有很多,比如 Flask、Bottle、Pyramid、Webpy 等。

    1. Django 和 Flask 的对比 在这里插入图片描述

    Flask 是小而精的微框架(Micro Framework),它不像 Django 那样大而全。如果使用 Flask 开发,开发者需要自己决定使用哪个数据库 ORM、模板系统、用户认证系统等,需要自己去组装这些系统。

    与 Django 开发相比,开发者在项目开始的时候可能需要花更多的时间去了解、挑选各个组件,正因为这样,Flask 开发的灵活度更高,开发者可以根据自己的需要去选择合适的插件。

    由于是自己一步步地将整个系统组装起来的,因此也比较容易了解各个组件部分。当然,Flask 历史相对更短,第三方 App 自然没有 Django 那么全面。

    2. Django 和 Tornado 的对比 在这里插入图片描述 Tornado 是一个 Python Web 框架和异步网络库,最初由 FriendFeed 开发,当初设计它的目的是为了解决 10000 个并发连接(C10K 问题)。

    传统的 Apache 服务器会为每个 HTTP 请求连接一个线程,而在大多数 Linux 发行版中默认线程堆(Heap)大小是 8MB,当连接数量过多时,这种线程池的方式极易耗光服务器上的所有资源。Tornado 会把等待资源的操作挂起,当数据准备好时,再回调相应的函数。通过使用非阻塞网络 I/O,Tornado 可以轻松应对数万个连接。因而 Tornado 也就成为长轮询,是 WebSocket 和其他需要与每个用户建立长期连接的应用程序的理想选择。

    和 Django 相比,使用 Tornado 编写异步代码对于开发者来说,没有 Django 或 Flask 编写同步代码那么简单、直接和高效。

    使用 Python 进行 Web 开发合适吗?

    Python 简单易学、上手快速,成为很多程序员喜爱的编程语言。使用 Python 进行 Web 应用开发,无疑能够加快需求实现的速度,快速迭代和验证产品的原型。有些人可能会有疑问:Python 性能不够好,用来开发 Web 是不是不太合适?

    Python 在性能上确实无法和 C语言、Java 等语言相比,但在大部分情况下使用 Python 开发是可以满足性能需求的,并且很多时候程序性能不够好,这不是语言本身的问题,而是架构设计、缓存设计、数据结构算法的选用以及开发人员编程水平等引起的问题。

    总之,使用 Python 语言进行 Web 开发有独特的优势,通常能满足大部分应用场景的需求。

     

    推荐课程
    正在试验
    后自动删除环境
    课程实验
    本次实验时间已到期 00:00:00
    程序员研修院 v1.1.0
    一、播放器优化
    修改播放器默认倍速设置,增加1.25倍速
    调整目录展示形式,增加折叠/展开
    优化播放器的使用体验,有播放问题可以点击播放页内的”反馈“提交问题
    查看全部版本记录
    课件正在飞速打包中,请耐心等待几秒钟~