什么是Django(2)

作者 : 慕源网 本文共4630个字,预计阅读时间需要12分钟 发布时间: 2021-11-19 共137人阅读

什么是Django(2)

本文是Django教程的一部分,您可以点击Django教程系列查看所有教程。

Django 简介

一个 Python 框架是用于快速开发网页设计的高级框架,该框架遵循模型模板视图架构以帮助开发复杂的数据驱动网站,称为 Django。Web开发过程变得简单,开发者可以在使用Django创建网站的过程中找到文档的数量。它是免费和开源的,开发网页的速度非常快。开发人员发现创建网页很容易,因为该框架有助于轻松创建具有正确排列的数据和具有高度相关性的存储库的页面。

为什么要使用 Django 框架?

它快速而简单,您可以在更短的时间内进行快速开发。它有很好的文档并遵循 DRY(不要重复自己)的原则,而其他人则不太关心它。它支持 ORM(对象关系映射)。可以使用以下命令通过命令行界面更新数据库,

`python manage.py migrate`

并且可以使用生成迁移

`python manage.py makemigrations`

Django 的 MVT 模式

什么是Django(2)

它使用 MVT(模型-视图-模板)而不是使用旧的 MVC 方法(模型-视图-控制器)。在创建具有用户交互的应用程序时使用 MVC 模式。此模板由带有 Django 模板语言 (DTL) 的 HTML 代码组成。控制器是为控制模型和视图之间的交互而编写的代码,Django 可以轻松处理它。

它使用模型、视图和模板处理用户请求,每当用户发送请求时,它充当控制器,通过映射 URL 来检查它是否可用,如果 URL 映射,则视图开始交互并以响应的形式将模板发送回用户。

Django 安装和设置

与其他框架相比,安装 Django 非常容易,但它与操作系统不同。我们可以从他们的官方网站https://www.djangoproject.com/download/下载最新版本。

  • 它可以使用包管理器或使用 pip install 安装在 Linux 或 Mac OS 中。
  • 对于windows,如果您的计算机上已经安装了Python,那么应该检查是否为系统变量设置了Python Path。然后解压并安装。

它还支持许多数据库引擎,可以根据您的要求进行设置。它为您提供了一个内置的轻量级服务器,用于开发和测试您的应用程序。

创建您的 Django 应用程序

Django 项目创建了一组设置,包括数据库配置、特定选项以及项目中特定于应用程序的默认设置。

创建应用程序的步骤

创建一个目录,在其中存储您的项目和 cd 到该目录并运行以下命令

$ django-admin startproject my_app

如果您查看您的目录,将创建以下结构

mysite/

manage.py

mysite/

__init__.py

settings.py

urls.py

wsgi.py

  • manage.py:让你以不同的方式与这个 Django 项目进行交互。
  • __init__.py:告诉python解释器该目录应该被视为一个python包。这个文件大部分是空的。
  •  settings.py:它是配置文件。
  • urls.py:包含 Django 项目的所有 URL 声明和 Django 支持的站点的目录。
  • wsgi.py:它是兼容 WSGI 的 Web 服务器的入口点,用于为您的项目提供服务并使用 WSGI 进行部署。

如果要检查项目是否正在运行,可以使用以下命令进行检查,

$ python manage.py runserver

Django 如何让你的工作变得轻松?

这遵循 Pythonic 的方式,即“简单胜于复杂”。与其他重要的 Python 包(如 Numpy、Scipy、Pillow 等)一起存储在 Python 安装的 site-packages 目录中的 Python 包之一。

验证它是否已安装以及是否能够将其导入项目的简单方法:

>>> import django
>>> print(django.get_version())

它为您提供了开发成熟应用程序所需的一切。它提供了使用 HTML、URL 路由、ORM(对象关系映射)、会话管理等的内置模板。

它还为 SEO 提供了许多有用的工具。使用 SEO 框架,开发人员可以使用缓存模板和 CSS、JavaScript 压缩来减少页面加载时间。还有一个工具来管理robots.txt.Django CMS 的功能非常超出专业SEO 专家的期望。

使用 Django 框架的顶级公司

以下是顶级公司。

1.Instagram

Instagram 是一个基于 Python 的照片和视频共享社交网络应用程序,它处理大量数据并每秒管理多个用户之间的更多交互。该框架通过保持简单而不是重新发明工作来帮助 Instagram 处理所有这些工作。

2. Spotify

Spotify 通过改变人们听音乐的方式并使任何设备上的任何人都可以访问,将音乐行业提升到了一个新的水平。Spotify 将 Python与 Django 框架结合用于后端服务和机器学习。

3. YouTube

YouTube 是流行的内容共享平台之一。YouTube 是一个基于 PHP 的项目,但为了提高其性能,YouTube 转移到了 Django,这有助于他们完美地行动。

4. Dropbox

Dropbox 是著名的文档、视频和图片云存储服务之一。它基于 python 用于桌面和服务器-客户端软件。Dropbox 使用 Django 框架来启用存储、同步并提供用于共享各种类型文件的选项。

5.Mozilla

Mozilla 是全世界最流行和最知名的浏览器,在全球拥有数百万用户。他们的旧组件不是用python编写的,而是使用Django实现的新组件。

例如,支持站点和附加组件是使用它构建的。他们已经从 PHP (CakePHP) 转移到 Python (Django Framework),这帮助他们处理每月数十、数百和数百万次的浏览量以及每天更多的 API 访问量。

6. Disqus

这是使用 Django 实现的最大项目。Disqus 开发人员使用 Django 从头开始​​构建该应用程序,以将其扩展为每天处理数百万用户。他们还在他们的一个名为 Sentry 的项目中使用了 Django,这是一种错误报告工具,如今在开发人员中也很有名。

你可以用 Django 做什么?

您可以使用 Django 创建 Web 应用程序,这基本上需要连接到数据库、CRUD(创建、读取、更新和删除)操作、安全性、用户管理以及使用 Django Restful API 创建 RestAPI。

Django 不是 PHP

它使用 Python 编程语言。它是一个使用模板语言的完整框架。

这已经过人群测试,许多大公司已经使用 Django 实现了他们的企业应用程序和移动应用程序。它有很好的文档。文档是 Django 世界的一等公民。它为用户提供了 3,000 多个包,并且是最早响应新漏洞的框架之一。

为什么我们需要 Django?

它旨在通过简洁实用的设计帮助快速开发。这使其成为您构建高度可定制的应用程序时的首选。无需重新发明轮子,它涵盖了基础知识,让开发人员专注于需要试验的重要部分,例如共享不同类型媒体的能力。

并具有可靠的用户身份验证模型,并具有配置用户的能力;当安全是重中之重时,这使其成为首选。它使用一系列 Python 组件,这些组件是相互不依赖的独立实体。

什么时候不使用 Django?

它不是在每个时间实例中都使用的最佳框架。虽然它在实施大型项目方面有着出色的基础,但对于较小的项目来说,它往往显得有些矫枉过正。它不应该用于构建小型站点,通常是没有数据库的站点。Flask 框架主要用于这类小型项目。

Django 框架的优缺点

以下是优点和缺点:

好处

以下是优点

1. 它是一种 Python 语言:如前所述,Django 是用 Python 编写的。Python语言简单易学,易于实现。Python 使用大型库在更少的行中管理更多。

2、Django和Python: Django和Python是硅谷金融科技公司、IT巨头、蓝筹公司、物联网的核心解决方案。

3. 管理界面: Django 提供的管理界面易于创建,是使用框架的主要优势之一。它为您提供了一个功能齐全的管理界面。例如

class Interface(models.Model):
interface_title = models.CharField(max_length=50)
some_other_text = models.CharField(max_length=100)
some_boolean_value = models.BooleanField()
admin.site.register(Interface)

4. 广泛的支持库:它提供的库包括字符串操作、Web 服务、操作系统接口和标准协议。

5. 可扩展性:处理最繁忙的流量,用于满足最繁忙的站点流量需求。它允许您针对可伸缩性采取不同的操作,例如为数据库运行单独的服务器,甚至使用集群或负载平衡将应用程序分布在多个服务器上。

缺点

以下是缺点:

  1. 对于初学者来说,用正则表达式指定 URL 并不是一件容易的事。模板错误无声无息地失败,您可能会浪费大量时间试图找出问题所在。
  2. 它给人一种整体的感觉,因为它是一个强烈自以为是的框架。
  3. 它没有能力同时管理不同的请求,因为它没有授权单个程序同时处理多个请求。开发人员很挣扎,因为他们需要研究不同的方法来使单个过程同时控制各种请求。
  4. ORM(Object Relation Mapping)系统允许开发人员同时在不同的数据库上工作,但它缺乏其他ORM系统本质上提供的一些功能。它的设计方式不让程序员完全使用 SQLAlchemy,这是 Python 的著名工具包。

学习 Django 的前提条件

  1. 如果您使用过其他语言,Python 的基本语法主要是理解 Python 的缩进部分。
  2. Python 函数,例如如何在 Python 函数中传递参数或设置默认值。
  3. 在开发 Web 应用程序时,您可能需要导入不同的模块,因此您需要了解代码中外部包的导入。
  4. 有一个重要的实体叫做正则表达式(regex),它主要用于 URL 映射。它还用于验证字符串。
    例如, 如果您要求用户输入他们的电子邮件 ID 或密码,您需要验证输入的字符串。
  5. RestAPI 和 JSON 的知识也很重要,它们被用作一种数据结构,用于在不同的网络实体之间存储和传输数据。

这项技术将如何帮助您实现职业发展?

  1. 对于初学者来说,这是一个完美的框架,可以在他/她当前的组织中工作和探索机会。Python-Django 认证是当今编程领域最抢手的技能之一。
  2. 大型组织使用 Django 开发他们的项目;这将使程序员和 Web 开发人员能够为世界上最好的客户工作。
  3. 而且这是世界上最流行的框架之一,这意味着具有 Django 经验的开发人员可以在与世界各地的大客户合作的同时获得具有良好现场机会的好包。

结论

  1. 这个框架确实带来了一些麻烦,但同时,它也能让你非常快速、轻松地解决大量的任务。它使使用 Python 的软件开发既便宜又简单。
  2. ORM 有它的缺点,但是Django REST 框架将它的缺点变成了优点,因为Django ORM 提供的接口最适合REST。
  3. Django REST 框架的巨大优势在于它具有完美的接口模型,但它也可以与 Data Mapper 模式的裸实现一起工作。
  4. 这取决于您拥有的团队,以及您为他们设定的在 Django 帮助下使用的目标。如果您从事外包业务,它可以提供很多东西;你的平均项目持续时间不超过一年,项目预算低,期限很短。
  5. 它还可以轻松地序列化数据并以 XML 或 JSON 格式提供数据。这在创建纯粹提供供其他站点或应用程序使用的数据的 Web 服务或网站时非常有用。简而言之,Django 框架是市场上最好的框架之一,它免费且简单。

慕源网 » 什么是Django(2)

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录