Django(1)初识Django「建议收藏」

Django(1)初识Django「建议收藏」前言Django是一个开放源代码的Web应用框架,由Python写成,最初用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站,即CMS(内容管理系统)软件,于2005年7月在BSD许可证下发布,这

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

Django是一个开放源代码的Web应用框架,由Python写成,最初用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站,即CMS(内容管理系统)软件,于2005年7月在BSD许可证下发布,这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Django采用了MTV的框架模式,即模型Model、模板Template和视图(Views),三者之间各自负责不同的职责。

  • 模型:数据存取层,处理与数据相关的所有事物,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
  • 模板:表现层,处理与表现相关的决定,例如如何在页面或其他类型的文档中进行显示。
  • 视图:业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁

Django的主要目的是简便、快速地开发数据库驱动的网站。它强调代码复用,多个组件可以很方便地以插件形式服务于整个框架。Django有许多功能强大的第三方插件,可以很方便地开发出自己的工具包,这使得Django具有很强的可扩展性。此外,Django还强调快速开发和DRY(Do Not Repeat Yourself)原则。Django基于MTV的设计十分优美,其具有以下特点:

  • 对象映射关系(Object Relational Mapping, ORM):通过定义映射类来构建数据模型,将模型与关系数据库连接起来,使用ORM框架内置的数据库接口可实现复杂的数据操作。
  • URL设计:开发者可以设计任意的URL(网站地址),而且还支持使用正则表达式设计
  • 模板系统:提供可扩展的模板语言,模板之间具有可继承性
  • 表单处理:可以生成各种表单模型,而且表单具有有效性检验功能
  • Cache系统:完善的缓存系统,可支持多种缓存方式
  • Auth认证系统:提供用户认证、权限设置和用户组功能,功能扩展性强
  • 国际化:内置国际化系统,方便开发出多种语言的网站
  • Admin后台系统:内置Admin后台管理系统,系统扩展性强
     

Django2的新特性

  • 简化URL路由语法:使得Django.urls.path()方法的语法更简单。功能的导入由模块Django.urls实现,如from Django.urls import include,path,re_path
  • Admin后台系统:支持主流移动设备并新增属性ModelAdmin.autocomplete_fields和方法ModelAdmin,get_autocomplete_fields()
  • 用户认证:PBKDF2密码哈希默认的迭代次数从36000增加到100000
  • Cache(缓存):cache.set_many()现在返回一个列表,包含插入失败的键值
  • 视图类:ContextMixin,extra_context属性允许在View.as_view()中添加上下文
  • Pagination(分页):增加Paginator.get_page()`,可以处理各种非法页面参数,防止异常
  • Templates(模板):提高Engine.get_default()在第三方模块的用途
  • Vaildators(验证器):不允许CharField及其子类的表单输入为空
  • File Storage(文件存储):File.open()可以用于上下文管理器,例如with file open() as f
  • 连接MySQL不再使用mysqldb模块,改为mysqlclient,两者之间并没有太大的使用差异
  • Management Commands(管理命令):inspectdbMySQL的无符号整数视作PositiveIntegerField或者PositiveSmallIntegerField字段类型
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164940.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月28日 下午6:16
下一篇 2022年7月28日 下午6:16


相关推荐

  • 利用Matlab对经典鸢尾花数据集实现决策树算法分类,并绘图

       最近在学习数据挖掘,其实决策树分类看过去好久了,但是最近慢慢的想都实现一下,加深一下理解。  知道决策树有很多现成的算法(ID3,C4.5、CART),但是毕竟核心思想就是那几点,所以本篇博客就是我随便实现的,没有参考现有的决策树算法。考虑到实现分类起码需要一个数据集,所以我选择了经典的鸢尾花数据集,下载地址:Iris   选择iris.data点击右键连接另存为,即可…

    2022年4月7日
    199
  • 办公类 AI 初探:扣子空间

    办公类 AI 初探:扣子空间

    2026年3月15日
    1
  • git生成ssh密钥

    git生成ssh密钥配置 ssh 有两种方式 一种是自己生成密钥配置 一种是公司给一个公钥 然后自己配置 第一种 自己配置由于本地 Git 仓库和 GitHub 仓库之间的传输是通过 SSH 加密的 所以必须要让 github 仓库认证你 SSHkey 在此之前 必须要生成 SSHkey 第 1 步 创建 SSHKey 在 windows 下查看 c 盘 gt 用户 gt 自己的用户名 gt ssh 下是否有 id rsa id

    2026年3月19日
    2
  • 使用开源安装包制作工具Inno Setup制作软件安装包

    使用开源安装包制作工具Inno Setup制作软件安装包大家在进行 Winform MFC 开发的时候 如果工程中引用了大量的 dll 和配置文件的时候 整个 release 文件夹会显得文件又多又繁琐 特别是发送给客户使用过程中 还要担心某个 dll 被误删除 而导致软件无法使用 这个时候我们如果把整个 release 文件夹制作成安装包 安装完以后 桌面只显示一个快捷方式 那是很方便又简洁 本文给大家推荐一款开源的安装制作软件 InnoSetup InnoSetup 是 JordanRussel 和 MartijnLaan 的 Windows 程

    2026年3月16日
    3
  • HTML 直播 RTMP流实时播放

    HTML 直播 RTMP流实时播放HTML 直播 RTMP 流实时播放直接帖代码 DOCTYPE tml html head metacharset UTF 8 title Inserttitleh title metacharset UTF 8 head body body html

    2026年3月26日
    1
  • springboot mybatis缓存_secure boot未正确配置

    springboot mybatis缓存_secure boot未正确配置什么是缓存?简单来讲,缓存就是存储在缓冲区里的内容,或者可以理解为存在内存中的内容。用户可以将经常查询的内容放到缓存中,再次使用时直接从缓存中取值,而不需要再查询数据库。这样做的优点是响应迅速,减少了系统资源(网络资源、CPU资源等)开销;缺点是需要占用内存资源,服务器一旦关机,缓存就会丢失,重启后需要重新将写一遍数据到内存。Mybatis的缓存Mybatis的缓存分为一级缓存和二级缓存。一级缓存是默认开启的,二级缓存需要手动开启。一级缓存是SqlSession级别的缓存,作用域是一个SqlSess

    2026年1月28日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号