龙空技术网

(完整)Vue3+Django4全新技术实战全栈项目

大道至简91 154

前言:

当前小伙伴们对“djangobasehtml”大致比较注意,大家都想要分析一些“djangobasehtml”的相关资讯。那么小编也在网络上搜集了一些对于“djangobasehtml””的相关知识,希望姐妹们能喜欢,你们一起来学习一下吧!

Vue3+Django4全新技术实战全栈项目

download:


Django 4.0 发行说明

这些发行说明涵盖了新功用,以及从 Django 3.2 或更早版别晋级时需求留意的一些向后不兼容的更改。我们已经 开端了一些功用的弃用进程。

假如您要更新现有项目,请参阅怎么将 Django 晋级到更新版别攻略。

Python 兼容性

Django 4.0 支撑 Python 3.8、3.9 和 3.10。我们强烈推荐而且仅官方支撑每个系列的最新版别。

Django 3.2.x 系列是最后一个支撑 Python 3.6 和 3.7 的。

Django 4.0 的新特性zoneinfo默许时区完成

Python 规范库zoneinfo现在是 Django 中的默许时区完成。

这是从 usingpytz到 using 搬迁的下一步zoneinfo。Django 3.2 答应运用非pytz时区。Django 4.0 是zoneinfo默许完成。支撑pytz现在已弃用,将在 Django 5.0 中删去。

zoneinfo是 Python 3.9 中 Python 规范库的一部分。backports.zoneinfo假如您运用的是 Python 3.8,该 软件包会自动与 Django 一同装置。

转向zoneinfo应该在很大程度上是通明的。当前时区的选择、日期时刻实例到表单和模板中当前时区的转换以及对 UTC 中感知日期时刻的操作不受影响。

可是,假如您运用非 UTC 时区,并运用pytz normalize()和localize()API,可能与TIME_ZONE设置一同运用,您将需求审阅您的代码,由于pytz 和zoneinfo不完全等效。

为了给这样的审计时刻,过渡USE_DEPRECATED_PYTZ 设置答应pytz在 4.x 发布周期中持续运用。此设置将在 Django 5.0 中删去。

此外, 作者创立的pytz_deprecation_shim包zoneinfo可用于帮忙从pytz. 这个包供给了 shims 来协助你安全地移除pytz,而且有一个详细的 搬迁攻略展示了怎么搬迁到新的zoneinfoAPIs。

假如您需求逐渐更新途径,主张运用pytz_deprecation_shim和USE_DEPRECATED_PYTZ过渡设置。

功用仅有束缚

的新*expressions 方位参数 UniqueConstraint()答应在表达式和数据库函数上创立功用仅有束缚。例如:

from django.db import models from django.db.models import UniqueConstraint from django.db.models.functions import LowerclassMyModel(models.Model): first_name = models.CharField(max_length=255) last_name = models.CharField(max_length=255) class Meta: constraints = [ UniqueConstraint( Lower('first_name'), Lower('last_name').desc(), name='first_last_name_unique', ), ]

运用该Meta.constraints选项将功用仅有束缚添加到模型中 。

scrypt暗码哈希

新的scrypt 暗码散列器比 PBKDF2 更安全,推荐运用。可是,它不是默许设置,由于它需求 OpenSSL 1.1+ 和更多内存。


Redis 缓存后端

新的django.core.cache.backends.redis.RedisCache缓存后端为运用 Redis 进行缓存供给了内置支撑。需求 redis-py 3.0.0 或更高版别。有关更多详细信息,请参阅Django 中运用 Redis 进行缓存的文档。


基于模板的表单烘托

Forms, Formsets , 而且ErrorList现在运用模板引擎呈现以增强自定义。看到新的render(), get_context()以及 template_name用于Form和 表单集烘托了Formset。


次要功用


django.contrib.admin

该admin/base.html模板现在有一个header包含管理站点标题的新块。

新ModelAdmin.get_formset_kwargs()办法答应自定义传递给表单集结构函数的关键字参数。

导航侧边栏现在有一个快速过滤工具栏。

model包含每个模型的模型类的新上下文变量被添加到AdminSite.each_context()办法中。

新ModelAdmin.search_help_text特点答应为查找框指定描述性文本。

该InlineModelAdmin.verbose_name_plural特点现在回退到InlineModelAdmin.verbose_name+ 's'。

jQuery 从 3.5.1 晋级到 3.6.0。


django.contrib.admindocs¶

admindocs 现在答应在ROOT_URLCONF不是字符串的情况下进行艰深的设置。

现在的模型部分admindocs显现缓存的特点。


django.contrib.auth¶

PBKDF2 暗码哈希的默许迭代次数从 260,000 增加到 320,000。

新的 LoginView.next_page 特点和 get_default_redirect_url()办法答应在登录后自定义重定向。


django.contrib.gis¶

添加了对 SpatiaLite 5 的支撑。

GDALRaster 现在答应在任何 GDAL 虚拟文件体系中创立栅格。

新GISModelAdmin类答应自定义用于GeometryField. 这是鼓舞而不是弃用的GeoModelAdminand OSMGeoAdmin。


django.contrib.postgres¶

PostgreSQL 后端现在支撑通过服务名称进行衔接。有关更多详细信息,请参阅 PostgreSQL 衔接设置。

新AddConstraintNotValid 操作答应在 PostgreSQL 上创立检查束缚,而无需验证所有现有行是否满意新束缚。

新ValidateConstraint 操作答应验证AddConstraintNotValid在 PostgreSQL 上创立的检查束缚 。

新 ArraySubquery() 表达式答应运用子查询在 PostgreSQL 上结构值列表。

新的trigram_word_similar查找和 TrigramWordDistance()and TrigramWordSimilarity()表达式答应运用三元词类似度。


django.contrib.staticfiles¶

ManifestStaticFilesStorage 现在用它们的散列对应物替换 JavaScript 源映射引证的途径。

的新manifest_storage参数 ManifestFilesMixinand ManifestStaticFilesStorage 答应自定义清单文件存储。


缓存

新的异步 APIdjango.core.cache.backends.base.BaseCache开端了使缓存后端异步兼容的进程。新的异步办法都有a前缀名称,例如aadd(), aget(), aset(), aget_or_set(), 或adelete_many().

展望未来,a前缀通常用于办法的异步变体。


CSRF

CSRF 保护现在会参阅Origin标头(假如存在)。为此,需求对 设置进行一些更改CSRF_TRUSTED_ORIGINS。


表格

ModelChoiceField现在在为 过错音讯params引发的参数中 包含供给的值。这答应自定义过错音讯运用 占位符。ValidationErrorinvalid_choice%(value)s

BaseFormSet现在运用额外的类呈现非表单过错,nonform以协助将它们与特定于表单的过错区别开来。

BaseFormSet现在答应can_delete通过设置 deletion_widget特点或覆盖get_deletion_widget() 办法来自定义删去表单时运用的小部件 。


国际化

添加了对马来语的支撑和翻译。


通用视图

DeleteView现在运用 FormMixin,答应您供给一个 Form子类,例如一个复选框,以确认删去。此外,这答应DeleteView运用 django.contrib.messages.views.SuccessMessageMixin.

根据FormMixin,POST 请求的目标删去是在 中处理的form_valid()。delete()应根据需求将处理程序中的自定义删去逻辑移至form_valid()或同享辅佐办法。

标签: #djangobasehtml