开篇:为什么选django?

开篇:为什么选django?

对于为什么选择django,官网网站是这么说的:

Django was invented to meet fast-moving newsroom deadlines, while satisfying the tough requirements of experienced web developers.

Django 是为了满足快节奏的新闻编辑室的截止日期,同时满足经验丰富的网络开发者的严格要求而发明的。

With Django, you can take web applications from concept to launch in a matter of hours. Django takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.

使用 Django ,您可以在几个小时内将 Web 应用程序从概念到启动。 Django 处理了 Web 开发的大部分麻烦,因此您可以专注于编写应用程序,而无需重新发明轮子。它是免费和开源的。

然后列举了 Django 的各种特性,自吹自擂了一番。

Django 的功能千千万万,对于Python开发者来说,有以下几点是值得推荐的优点。

自带功能完善Django 框架号称是“为追求完美且有截止日期的完美主义者设计的网络框架。” 遵循 功能完备的理念,自带大量常用工具和框架,提供开发人员想要的 开箱即用 的几乎所有功能。

例如:ORM、路由、分页、认证、权限管理、表单、admin、迁移、缓存、中间件日志、消息、国际化、时区、序列化、静态文档管理、模版、信号、CSRF、RSS/Atom、Geo、等等。该有的、可以没有的,常用的、不常用的都提供。

这对于快速开发功能完善且安全的系统来说,学习成本和时间成本都能大大降低。

自带ORM,且支持多种数据库对于数据库访问,目前我们流行的 ORM 解决方案,中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM 是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

而django自带强大的ORM,开发者无需额外引入和学习第三方 ORM,如:SQLAlchemy。

而且,官方还自支持多种数据库, Django 官方支持以下数据库:

PostgreSQLMariaDBMySQLOracleSQLite

除了官方支持的数据库外,还有第三方提供的后端,允许你在 Django 中使用其他数据库。

CockroachDBFirebirdGoogle Cloud SpannerMicrosoft SQL ServerSnowflakeTiDBYugabyteDB

自带后台管理系统Django 自带的 admin 管理后台是该框架的最大优势之一。只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台,这是 Django 最受欢迎的功能之一。

在 admin 管理界面,可让您轻松查看、筛选、搜索和管理所有模型数据。这可以在开发和管理内容时为您节省大量时间。

完善易用的数据迁移对于笔者自己来说,要问我为什么喜欢 Django ,那第一个理由绝对是因为它的Migration迁移功能。

Migration迁移功能介绍简单的说,Migration迁移功能,就是找出我们项目中定义、修改的表结构,与实际数据库中表的差异,根据差异生成迁移脚本。通过执行脚本来同步数据结构,让双方表结构保持一致。

我们知道在开发中,我们经常需要进行数据库迁移和同步操作,特别是随着项目的发展,改变了数据结构的时候。所以一些后端框架和ORM库就会把数据迁移功能纳入其中。而 Django 就自带数据迁移功能,而且非常的易用和强大。

当我们使用 Django 模型创建模型后,就定义了我们数据表的初始结构,迁移功能创建必要的数据表初始脚本。而随着项目的发展,模型结构也就是我们的数据表,发生变化时,它也负责记录下来,以便在和数据保持同步。

在 Django 中,当你将模型添加到 models.py 文件中时,相关的数据库表尚不存在。创建新模型时,初始迁移将创建数据库表。在现有模型中添加或删除字段时,或者字段的属性发生更改时,也需要迁移。对 models.py 文件的所有这些更改都需要对数据库进行相应的更改。

使用 Django 的好处就是你不必手动创建迁移,它是由 Django 为你生成的。你只需要定义修改你的模型,然后使用命令生成迁移文件,同步数据结构。非常的方便和易用,能让你专注应用开发而不是花大量的时间来处理数据结构的变化。

自带web服务器Django 自带一个简单的Web服务器,称为用于开发的简易服务器。该服务器可以直接用于测试和开发过程,而不需要进行任何配置。 你只需要在项目目录运行一行简单的代码即可:

python manage.py runserver

它会在本地机器上启动一个轻量级的开发网络服务器。默认情况下,该服务器在 IP 地址 127.0.0.1 的 8000 端口上运行。你可以明确地传递一个 IP 地址和端口号。例如:

python manage.py runserver 0.0.0.0:8080python manage.py runserver 192.168.1.100:8080

Django 自带的这个服务器,可以让你快速进入开发,而不需要先去折腾Nginx 或Apache。而且这个服务器还会自动重新,你不需要为了让修改的代码生效而频繁的重新启动服务器。当然,少部分一些动作,比如添加新文件,将不会触发自动重新加载,这时你得自己手动重启服务器。

自带开发服务器的功能,对于不熟悉服务器相关配置的人员来说,非常的高效和方便。

跨平台与高扩展Django 可以在多个操作系统平台上运行,包括 Windows、Linux 和 Mac 。这使我们可以在自己喜欢或更熟悉的平台上进行开发和测试。

同时, Django 具有良好的可扩展性,可扩展性体现在其模块化的设计上。开发者可以将不同功能的代码分割为不同的模块,使得整个应用变得结构清晰、易于维护和扩展。

例如:我们开发的每一个APP应用,都是可以应用在不同的项目中:

myproject/settings.py 文件中:

INSTALLED_APPS = [

"django.contrib.admin",

"django.contrib.auth",

"django.contrib.contenttypes",

"django.contrib.sessions",

"django.contrib.messages",

"django.contrib.staticfiles",

...

"myapp.apps.MyappConfig",

...

]它的可扩展性体现在应用插件的机制,开发者可以通过安装和配置插件来扩展 Django 的功能。这些插件可以是官方提供的,也可以是第三方开发者提供的。

Django 还支持自定义的中间件,开发者可以通过编写中间件来扩展或定制 Django 的请求和响应处理过程。中间件可以实现诸如身份验证、日志记录、性能测量等功能。

总结综上,Django 功能完备,易学易用,又是一个排行前列的后端框架,这些都是笔者选择Django 的原因。

相关文章

beat365手机版官方网站正规 世界杯中北美洲出线规则?世界杯预选赛北美洲区
365bet官网开户网址 Win11为什么玩不了QQ炫舞?详解兼容性问题与解决方案