在没有模拟的情况下在Django中测试Elasticsearch

介绍
这应该是一篇简短的文章-我最近在工作中继承了Django项目,其中Elasticsearch是主要组件。
在代码库中,有大量的辅助函数可构造如下所示的Elasticsearch查询DSL。

尽管上面的示例似乎很简单,但是Elasticsearch查询的JSON主体可能变得非常大而复杂。 作为Elasticsearch的相对入门者,我几乎没有信心更改任何涉及这些辅助功能的代码。
虽然在代码库中存在预先存在的测试,但所有测试都模拟了这些Elasticsearch帮助器功能。
[crayon-5f969f38e1de[……]

继续阅读

git日常命令大全(附流程图)

CREATE

From existing data

From Existing repo

Remove repository from existing local data

UPDATE

Fetch latest changes from origin

[crayon-5f969f38e268c25804[……]

继续阅读

Django 3.1中的异步视图

编写异步代码能够毫不费力地加速应用程序。 随着Django 3.1最终支持异步视图,中间件和测试,现在是将它们置入现实的好时机。

这篇文章探讨了如何开始使用Django的新异步视图。

如果想了解有关异步代码背后的强大功能以及Python中线程,多处理和异步之间的区别的更多信息,请查看我的《通过并发,并行和异步编写Speeding Up Python》。

目标
在这篇文章的结尾,您应该能够:

在Django中编写异步视图
在Django视图中发出非阻塞HTTP请求
使用Django的异步视图简化基本的后台任务
使用sync_to_async在异步视图内进行同步调用[……]

继续阅读

Django 3中的自定义用户模型

介绍
嗨,在这篇文章中,我们将学习在Django 3中创建自定义用户模型,并且还将更改Django Admin的默认登录功能。 我们将使用电子邮件和密码登录。
动机
我必须为我的应用程序创建一个“自定义用户”,我能够创建模型,但问题是createsuperuser命令无法正常工作。 为了调试它,我不得不做大量研究,问题是当时大多数资源已经过时,所以我决定写这篇文章。
我做了一个GitHub仓库,所以如果您愿意,可以直接使用它(这里有说明)

让我们开始吧
首先,创建一个Django Project并创建一个名为users的应用程序
现在我们可以开始在用户应用程序中编辑model[……]

继续阅读

Django 3.1中的WebSockets

我们使用Django作为主要的Web开发框架,并且喜欢简单。
在本文中,我将指导您如何在不安装第三方应用程序的情况下在Django应用程序中启用WebSockets。
Django从3.0版开始引入了ASGI接口,在3.1版中引入了异步视图。 我们的解决方案将基于异步视图。 在本教程中,我们将使用Python 3.7和Django 3.1。

WebSockets ASGI界面简介
ASGI是已经使用了多年的WSGI协议的替代协议,并且将在接下来的2-3年内成为Python Web框架中的事实上的标准。
那么,WebSocket在这种情况下如何工作?让我们找到它!
WebSock[……]

继续阅读

使用Formsets和JavaScript在Django中动态添加表单

本教程演示了如何使用Django表单集和JavaScript将表单的多个副本动态添加到页面并进行处理。

在Web应用程序中,如果用户正在输入数据以将对象添加到数据库中,则用户可能需要连续多次提交相同的表单。 Django不必一遍又一遍地提交相同的表单,而是允许我们使用表单集将相同表单的多个副本添加到网页。

我们将通过观鸟应用程序演示此操作,以跟踪用户看到的鸟类。 它仅包括两页,一个包含鸟类列表的页面和一个将鸟类添加到列表的表单的页面。 您可以在GitHub上查看此示例的完整源代码。

对于本教程,对以下内容有一个基本的了解会有所帮助:

Django表格
基于Django[……]

继续阅读

如何使用Django发送电子邮件和附件

在本文中,我们将学习如何在Django项目中设置电子邮件。 Django使发送电子邮件变得方便,并提供了满足我们需求的各种方法。

在我们开始之前,我们必须在settings.py文件中设置电子邮件设置。

在settings.py文件中,我使用了EMAIL_HOST =’smtp.sendgrid.net’,也可以使用任何其他smtp主机,例如google smtp或任何其他主机。

我们已经创建了一个名为test_email的应用程序,并且已从该应用程序导入了视图,并且不要忘记在已安装的应用程序中包含test_em[……]

继续阅读

让我们使用Django,vuejs,Django rest框架和jwt构建音乐流应用程序-2

在上一篇文章中,我们已经使用Django和DRF成功构建了基本API。 在这篇文章中,我们将添加身份验证并准备好我们的API。接下来我们将使用 Django-allauth, 因为能节省我们完全从头开始编写用户模型的时间, Django rest auth将我们的allauth模型转换为JSON可序列化。

让我们先安装:

然后将这些应用程序添加到api / Settings.py中的“中
Django-allauth使用用户名作为必填且唯一的字段,我想通过将BaseUserManager扩展到我们的CustomUse[……]

继续阅读

让我们使用Django,vuejs,Django rest框架和jwt构建音乐流应用程序

这篇文章将构建一个提供音乐的简单音乐API。 我将选择Django rest框架,因为它易于开发。

开发目标:在本教程结束时,将拥有一个简单的音乐API,具有用户管理(登录,注册)和JSON Web令牌(JWT),以提高安全性。 如果不熟悉API开发,建议先看几篇基础文章。

开始 :
对于这个项目,我正在使用Python 3.6.9和Django版本3.0.8。
让我们创建一个虚拟环境。

安装django和drf

创建项目:
[crayo[……]

继续阅读