
自 2005 年公开发布以来,Django 以其速度、安全性和流畅的开发体验成为更受欢迎的现代 *** 框架之一。这个基于 是 Instagram、pinterest、Disqus 以及其他成功网站和应用程序的基础。
它还拥有许多用于开发全栈 *** 应用程序的组件。如果您需要额外的功能和特性,您可以探索 Django 丰富的第三方软件包开源生态系统,并将它们无缝地插入到您的项目中。
本文将探讨更好的 Django 软件包,为您的现代应用程序生产做好准备。
采用 MVT(模型-视图-模板)设计模式。其丰富直观的对象关系映射器(ORM)可与 Python 数据库交互,中间件和控制器视图系统可管理 HTTP 请求和响应循环,前端模板语言可渲染动态服务器端网页。Django 的内置表单模块可渲染和验证 HTML 表单提交,其软件包提供用户身份验证、缓存、自动电子邮件和静态文件管理功能。
上有 10,000 多个 Django 软件包可供选择。尽管像 这样的网站通过分类和度量标准帮助整理第三方软件包,但要确定哪些最适合您的项目仍然具有挑战性。让我们来看看一些有用、灵活且文档齐全的选项,以增强 Django 应用程序的功能。
要安装和使用第三方软件包,只需在项目的虚拟环境中运行 Python pip install 命令,然后在项目根目录下的 settings.py 文件中将软件包添加到 Django 项目的 INSTALLED_appS 中即可。
在 Python 中,模块是共享命名空间的文件或文件 *** ,您可以将其导入到您的程序中。就像包含文件的文件夹一样,Django 框架由许多较小的模块组成,如表单、模型和视图。
Python 包是项目可以共享的模块捆绑包。Django 应用程序是一个独立的 Python 包,可以在 Django 项目间共享。所有 Django 项目都至少包含一个 Django 应用程序,其中包含用于构建 Web 应用程序的所有文件。
下文将介绍 15 个更佳 Django 软件包。
可扩展 Django 项目,使其能够处理序列化的 json 数据(或 XML、YAML 等)。该框架直接与 Django ORM 相连接,以实现关系数据的表示,并提供特定于用户的身份验证和权限保护。
其内置的 Django 视图可生成 RESTful API 端点,以便在服务器上对项目数据执行创建、读取、更新和删除(CRUD)操作。它还包含一个可浏览的 API,可在 *** 浏览器中直接与 API 交互。
在 Django 项目中集成了更强大的搜索引擎工具。它的模块化 Django 应用程序为您插入的任何搜索后端提供了一致的 API,因此您不会在项目的整个生命周期中被锁定在一个供应商上。
您可以为项目的所有模型数据创建独特的、经过微调的搜索索引,并利用其提供的 Django 视图为您的前端模板添加与后端无关的搜索功能。
Django 的默认为运行时错误和异常提供了完整的 Python 堆栈跟踪,同时还提供了代表本地开发环境状态的元数据。不过,当你需要深入研究并攻击那些难以解决的隐秘 bug 时,可以在项目中安装 ,并在 Django 的设置中将 DEBUG 设置为 True 。
该软件包显示有关当前请求和响应周期的高度详细的实时数据,包括执行的 SQL 查询、提供的静态文件以及从项目缓存机制中存储和检索的数据。使用这些数据可以调试和优化应用程序的性能。
将 Django 网站部署到生产环境时,必须关闭所有调试功能,以保护个人数据和应用程序的安全。但您仍然需要知道网站用户是否遇到。
是一款流行的开源解决方案,用于监控生产中的网站活动,为个人开发者和小型团队提供了慷慨的免费层级。使用其简单的界面,为您的 Django 项目添加先进的、高度可配置的监控、日志和跟踪功能,以避免生产问题。
当您的 Django 项目向独立的 Web 前端或托管在与您的服务器不同域上的其他 Web 应用程序提供数据时,您需要启用名为 ““的 Web 安全协议。
软件包利用 Django 内置的中间件系统处理 HTTP 请求和响应,从而简化了这一过程。您可以指定允许通信的外部域列表。
Django 应用程序通常允许用户根据一组映射到单个数据库字段或属性的参数请求数据。软件包可帮助您避免在 Django 视图中为这些常见查询类型编写重复代码。
只需定义包含模型字段的 FilterSet 对象,即可通过 URL 参数或模板中自动生成的 HTML 表单进行查询。
您可以使用 Django 的命令行实用程序(称为)来运行您的开发服务器、创建数据库迁移并在数据库中运行它们、构建新的 Django 应用程序以及管理您的测试套件。
包通过增强了这些命令,例如通过 Django ORM 重建整个项目数据库的脚本、自动导入包含所有项目模型文件的交互式 shell,以及以可读格式导出用户的电子邮件地址。
本地开发时,Django 项目的媒体文件存储在本地文件夹中,该文件夹被配置为项目的。默认开发服务器会提供这些文件。
但是,在生产系统中,应通过单独的 HTTP *** 服务器(如 )或云存储服务(如 Amazon Simple Storage Service (S3) 或 DigitalOcean Spaces)来提供媒体文件。这种 *** 允许应用程序横向扩展,而无需复制包含媒体文件的本地文件夹。
软件包只需几行代码,就能将应用程序配置为使用这些云存储服务。
复杂的数据库查询和模板渲染操作非常耗时。Django 内置的通过存储这些操作的结果来提高 *** 应用程序的性能。您的应用程序可以直接从该缓存渲染大多数 *** 请求,从而缩短加载时间。
您可以将结果缓存在项目的数据库或文件系统中,也可以直接缓存在内存中。 软件包可帮助配置流行的开源 Redis 作为项目的内存缓存后端。Redis 以其高性能、可扩展性和多功能性而著称,是许多应用程序的首选。
以编程方式或通过 Django 管理器管理细粒度权限可能会很繁琐。 提供了简单直观的 API,只需几行代码即可管理每个对象的用户和组级权限。
大多数 Django 应用程序都在 HTTP 请求和响应周期内运行,通过整个网页刷新、支持 AJAX 的前端技术(如 jQuery、htmx 或 Hotwire)或框架(如 )为用户加载内容。然而, *** 套接字、MQTT、聊天和物联网(IoT)协议等实时功能需要与服务器建立开放连接。
Django 通道为各种同步和异步通信提供了便利。例如,您可以为网站管理员设置一个即时,让他们直接与客户交流。
是一种流行的开源任务队列,用于调度和运行耗时过长、不可预测或资源密集型的应用程序进程,通常的 HTTP 请求和响应周期无法处理这些进程。它可以触发进程向用户自动发送电子邮件、处理大型文本和媒体文件、搜索网页、处理第三方 API 调用、分析数据和生成报告。
它的界面可让您直接在 Django 项目代码中定义 Celery 任务,并在特定时间或周期性间隔内安排这些任务。
虽然 Django 的全功能可以帮助管理项目的用户,但它并不内置启用社交登录的支持。使用社交和本地身份验证 *** 拼凑系统会给 Django 项目带来复杂性和重复逻辑。
值得庆幸的是, 软件包为您处理了这种复杂性,因此您只需稍加配置,就能在支持基于密码的本地登录的同时,支持所有社交身份验证提供商。
您可以使用自动生成的为 Django 项目创建自己的自定义内容管理系统(CMS),而 软件包则提供高度可定制的页面模型。其独特的混合内容 *** 利用 Django 的全部功能来构建内容丰富的网站。
Wagtail 就像用 Python 编写的 PHP WordPress,但它对开发人员的控制和定制程度使其与其他 CMS 区别开来。该软件包是 NASA、google、Mozilla 和 NHS 等许多著名组织的首选 CMS。
在浏览器中加载大型静态文件会成为 Django 项目的性能瓶颈。 可以轻松压缩 Django 项目中各种形式的静态资产。
其模板标签适用于内联和链接文件,您还可以配置 Django Compressor 与项目的缓存机制配合使用,以实现自动再生和永久缓存生成输出。
Django 的全功能 *** 框架提供了大量工具来构建应用程序。您可以在充满活力的第三方 Django 软件包生态系统中找到所需的附加功能。模块化的 Django 应用程序和 Python 软件包系统可让您随着项目的增长添加功能。使用本文中提到的久经考验的开源资源可以节省时间和精力。
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
不久前,PHP 8.0大张旗鼓地发布了。它带来了许多新特性、性能增强和变化——其中最令人兴奋的是新的JIT编译器。 技术世界总是在向前发展,PHP也是如此。 ,包含了几个令人兴奋的特性。它定于今年晚些时候于2021年11月25日发布。 在本文中,我们将详细介绍PHP 8.1将带来哪些新的东...
宝塔的数据库管理,是基于phpmyadmin管理和新建数据库。其最大的便利性就是类似,通过面板可以快速访问进行管理操作,无需单独访问phpmyadmin的主页。 此外,在宝塔面板进行数据库管理,你也对数据库名、用户名及密码等信息一目了然,及可以对数据库执行快速备份或者导入。 添加数据...
宝塔面板另外一个特质是,你无需通过Linux命令行来查看服务器各项指标状况,即可以阿里云服务器类似的可视化图表,查看资源使用、负载、CPU占用及内容使用百分比等指标。 默认监控是关闭,有需要的,可以开启,监控数据默认保存30天,可以自行修改,默认监控数据保存在日志,可手动清理该日志。 监控管理,...
宝塔面板的安全管理可以设置SSH开关、禁用PING、放行端口、屏蔽IP等相关的操作。 SSH的设置 SSH的关闭与启动,点击下图的开关,即可开启或关闭SSH远程连接。 SSH端口的修改,SSH远程连接的默认端口为22,修改端口前,请先查看该端口是否被占用。 PING命令的...
对于初学者和那些刚刚进入WordPress开发的人来说,PHP是您可以开始的最佳起点之一。这是一种超级简单直接的语言,使其成为之一,因此相当容易上手,它构成了在线开发的支柱。另外,如果你想在WordPress后端工作,你肯定需要学习它。 但是,如果您不想在昂贵的大学课程上花费数月或数年时间怎么...
想成为一名网络开发人员或好奇工作的哪些子类型的薪水最高?Web开发是一个竞争激烈、多样化的行业,随着新语言和框架的出现而不断发展。 询问Web开发人员的薪水是一个难以解决的问题(尽管我们尝试)。有太多的因素需要考虑。 无论您是自由开发者还是有兴趣从事更传统的工作、喜欢前端或后端工作,或者想知...