问题标签 [djoser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5036 浏览

python - Djoser 用户激活电子邮件 POST 示例

我正在使用 Django rest 框架和 Djoser 进行身份验证和用户注册。

当新用户注册时,Djoser 会发送一封激活电子邮件,其中包含执行 GET 请求的链接。为了激活,我需要从激活 URL 中提取 uid 和令牌,并向 Djoser 发出 POST 请求,以便能够激活用户。

我的环境是 Python 3 和 Django 1.11,Djoser 1.0.1。

我想做的是在Django中处理get请求,提取uid和token,然后发出POST请求。我已经提取了 uid 和令牌,并想做一个 POST(在这个 GET 请求中)。我不知道如何在后台发出这个 POST 请求。

我的网址是这样的:

当我在电子邮件中单击它时,它会发出 GET 请求。

我在 Django 视图中处理这个问题。

视图需要发出这样的 POST 请求:

我处理 GET 的观点是:

0 投票
3 回答
2339 浏览

django - 注册后通过电子邮件而不是 URL 发送激活码

正如我们在不同的网站上看到的,用户注册后,它会向用户的电子邮件发送一个 6/5 字符的激活码。用户应在网站上提交代码以激活他们的帐户。我正在尝试做同样的事情,但无法弄清楚如何使用 djoser 在 django-rest-framework 中做到这一点。

目前,我正在使用 Djoser 进行注册和激活。Djoser 在电子邮件中发送激活 URL;单击它会激活帐户并且它工作正常。

如何向用户发送 6 个字符的字母数字激活代码,而不是发送整个 URL?

我正在使用:django-rest-framework、django-rest-framework-jwt、djoser

0 投票
1 回答
2948 浏览

python - 使用 Djoser 实现忘记密码功能

我是 Django 框架的新手,现在在忘记密码功能方面遇到了麻烦。我已阅读有关该功能的文档,但有些不清楚。我需要有人可以更详细地向我展示前端和后端的步骤。

0 投票
2 回答
357 浏览

django - 如何在 Djoser 中禁用用户名更改?

我没有在文档中找到有关如何排除/禁用 Djoser 提供的任何端点的任何信息。我可以在它的 urlpatterns 中查找一个并将其删除,但我想知道是否有更丑陋的方法可以做到这一点。

0 投票
1 回答
475 浏览

django - Djoser:触发用户帐户激活操作

我在我的 django 项目中集成了 djoser,我需要在帐户激活时创建一个条带 customer_id,我该怎么做?

我一直在搜索 djoser 文档,但没有关于自定义激活或传递回调方法的内容。

0 投票
0 回答
393 浏览

django - 自定义 djoser 注销

Djoser 有auth/token/logout/注销的终点,它会破坏令牌。现在我想在注销时做更多事情,所以我继承了TokenDestroyViewdjoser 的:

现在我有自己的端点,因为users/v1/logout/ 我得到了200 52响应,但它没有删除令牌,甚至它也没有进入 post 方法。

我在哪里失踪?

0 投票
2 回答
2532 浏览

django - 使用 djoser 实现密码重置

我想djoser用于重置密码功能并根据文档:

PASSWORD_RESET_CONFIRM_URL

您的前端密码重置页面的 URL。它应该包含 {uid} 和 {token} 占位符,例如#/password-reset/{uid}/{token}. 您应该通过 uid 和 token 来重置密码确认端点。

我做了以下事情:

PASSWORD_RESET_CONFIRM_URL': 'reset/password/reset/confirm/{uid}/{token}',

网址

url(r'^reset/password/reset/confirm/(?P<uid>[\w-]+)/(?P<token>[\w-]+)/$', PasswordResetView.as_view(),),

看法 :

在我的邮件中,我得到了这个链接:http://127.0.0.1:8000/reset/password/reset/confirm/Mjk/538-954dccbc1b06171eff4d

这很明显,我会得到:

}

作为我的输出,但我想auth/password/reset/confirm在用户单击邮件中的链接时转到。

0 投票
1 回答
1152 浏览

python - 格式化&符号会添加意外字符

使用Djoser我试图为我的前端生成正确的 url。我的 url 字符串中必须有与号,并且 Djoser 在将其发送到我的前端之前会格式化此 url。网址如下所示:

但我得到的最终结果看起来像注释“amp;” & 之后

我尝试了以下解决方案,但它们都不起作用(\u0026, {\u0026}, {\u0026:c}, &&)

注意:我不能直接format()部分更改代码,这将由 Djoser 处理。我可以通过的部分实际上只是将字符串值分配给激活 url,就像那里一样:'ACTIVATION_URL': 'activate?id={uid}{\u0026:c}token={token}',所以我必须在这个字符串中编写我的解决方案。

NOTE2:我在 jupiter 中尝试过,一切正常,当我这样做时,我得到了正确的 url:

在此处输入图像描述

直接添加&返回到前端与amp;后面相同的 url&

更新 Djoser 模板覆盖

在此处输入图像描述

0 投票
1 回答
710 浏览

django - Djoser 禁用未使用的端点

我在我的 WebApp 中使用 Djoser 进行身份验证,这很好。但是,我担心一些端点,比如

如果传递了令牌,则返回所有用户。我不会使用此端点并将在前端禁用它,因为我不希望我的用户也使用它。但是,我仍然担心。如何禁用 Djoser 提供的这些未使用的端点?

0 投票
1 回答
1157 浏览

django-rest-framework - 带有 Knox 代币的 DRF 的 Djoser

我正在尝试将 djoser 与令牌身份验证一起使用,但使用 django-rest-knox 令牌。

我已将TOKEN_MODELtoknox.models.AuthToken和其余框架设置DEFAULT_AUTHENTICATION_CLASSESknox.auth.TokenAuthentication

我天真地认为这已经足够了,但似乎 Djoser 的内置序列化程序(创建令牌和令牌)不能与 knox 令牌一起正常工作。我尝试用自定义序列化程序覆盖它们,但我没有得到任何结果(这并不是说它不可能,只是我不擅长这个)。

我突然想到,也许我应该尝试使用 Knox 自己的登录视图……这可能吗,或者它们不能像那样混合吗?(我主要是因为我不想让它“工作”,但发现我实际上在这样做时引入了一个安全漏洞)。

设置:

users.serializers.TokenSerializer 在哪里:

这只是从原始的 Djoser TokenSerializer 略微修改。AuthToken 对象没有key属性会引发错误。诺克斯令牌似乎称之为它token_key,所以我替换了以下行 auth_token = serializers.CharField(source="key")auth_token = serializers.CharField(source="token_key")

现在,它不会抛出错误,但会返回一个空令牌。检查实际数据库显示它已保存具有正确用户和创建时间的令牌,但摘要、盐和 token_key 为“null”