问题标签 [django-rest-auth]

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 回答
863 浏览

angularjs - Django Rest Framework / AngularJS - 登录后用户不会在任何地方被重定向,即使我在 settings.py 中设置了 LOGIN_REDIRECT_URL

根据此链接: http: //www.django-rest-framework.org/tutorial/4-authentication-and-permissions/#adding-login-to-the-browsable-api

我需要将以下代码添加到我的 URLs.py:

当我添加这个时,用户可以通过转到“api-auth” URL 并使用默认的 DjangoRestFramework 登录界面登录。成功登录后,用户被定向到“/test”,因为我的 settings.py 中有以下代码:

我希望用户能够使用我自己的自定义界面登录,但使用 DjangoRestFramework 的内置代码来登录用户,所以我创建了自己的模板。模板中的登录表单向

并将用户对象(在 JS 中由用户名和密码组成)与 POST 请求一起发送。没有返回错误,所以我假设登录成功。但是,它不会重定向到任何 URL(我希望它重定向到“/test”)。

知道为什么它不会重定向到任何地方,以及如何让它重定向到“/test”吗?

编辑:我也在前端使用 AngularJS。

0 投票
3 回答
3219 浏览

angularjs - Django Rest Framework - Why is a 200 status code returned when trying to login a user using incorrect credentials?

This is my URLs.py:

I have a form on my homepage where users can type a username and password. When the submit button is clicked, AngularJS sends a POST request to "api-auth/login/" with the user object (username and password):

When a user submits an incorrect username and password (username and password which either do not exist or do not match), Django Rest Framework returns a 200 OK rather than a 204 No Content, 404 or 401 Unauthorized (on this post, it says 401 is the correct status code to return: What's the appropriate HTTP status code to return if a user tries logging in with an incorrect username / password, but correct format?).

According to here: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html in section 9.5 POST, it says "In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on whether or not the response includes an entity that describes the result."

I handle errors and log the data if data exists (I did console.log(data) in JS), but no data is logged, which means (from my understanding) no data is sent / the response does not include an entity that describes the result.

So how come DjangoRestFramework returns a 200 rather than a 204 No Content (or a 404 or 401, which is what should be returned according to the other SO post I linked to)?

0 投票
1 回答
690 浏览

django - 如何在 django 的 django-rest-auth 中扩展 Register 方法?

目前,当我的用户注册并出现错误时,我会收到以下消息:

这是针对我的移动应用程序的,我希望在返回错误时得到一致的消息(不是特定于字段的,如“用户名”、“电子邮件”)。例如,

无论如何我可以扩展注册/视图/注册类吗?

0 投票
0 回答
741 浏览

django-rest-framework - 在 Django Rest Auth 注册之前检查 OTP

我正在使用 Django Rest Auth 插件在 Django Rest Framework 中进行注册和登录。我想在用户注册时检查 OTP(唯一密钥)。我们正在向用户发送基于手机号码的 OTP。Django 在注册后检查 OTP。我想在注册之前设置这些条件。如果条件成立,则应进行注册。

我已经添加了def create()def update()方法,UserSerializer但它仍然不起作用。请指导我解决此问题,并提前致谢。

0 投票
1 回答
1369 浏览

django - DjangoRestFramework / Django 基于类的视图 - 如果引发 403 错误,如何使其重定向到登录页面

这些是我的看法:

当我通过访问它们的 URL 访问这些视图中的任何一个时,我会得到默认的 DjangoRestFramework 页面,该页面显示:

我是否可以更改它,而不是显示默认的 DRF 页面,而是将其重定向到登录页面?(登录页面 URL 为“/login”)。

注意:我将 Django TemplateView 用于一个视图,将 DRF APIView 用于另一个视图,但是当我尝试在未登录的情况下访问其 URL 时,两者都重定向到 DRF 默认 403 页面。

0 投票
2 回答
1472 浏览

django - Django-rest-auth 基本授权错误 {"password":["(此字段为必填项"]}

我是 django-rest-auth 和 api 的新手。这是我第一次构建休息身份验证,我对授权标头和内容类型不太熟悉。

我试图理解为什么当我尝试/login/像这样使用基本授权对用户进行身份验证时:

我收到此错误消息:

{"密码":["(此字段为必填项"]}

当像这样在正文中传递用户名和密码时:

我拿到了钥匙:

{“键”:“b5c0f3a9c7b2fc2f58a74b25f816e2968c64712f”}

为什么会这样?

我也想知道为什么在尝试相同的方法/user/时没有给我任何错误并给我序列化的用户模型

我能理解的唯一区别是,/login我使用的是 POST,而 in/user/是 GET

有人可以向我解释一下吗?

谢谢阅读!

0 投票
1 回答
692 浏览

django - 在 ModelSerializer 中添加额外字段不起作用

序列化程序.py:

我正在为我的应用程序定制一个用户模型。我正在使用 DRF 创建 Web 服务。我正在尝试制作如上所述的用户注册序列化程序。一切工作正常,除了当我添加'password_confirmation'字段时它引发异常“model_name”对象没有属性密码确认“。我找到了上面我正在尝试使用的代码片段。但不幸的是,它似乎没有太大帮助。

我的问题是,是否可以添加这样的字段并对其进行一些比较。有什么优雅的方法吗?

请提出修复建议。

谢谢!提前。

0 投票
0 回答
125 浏览

django - django-rest-framework, 第三方 javascript 应用注册和创建新线程

我用论坛模型、类别模型、线程模型、评论模型、用户模型、通知模型创建了一个类似于这些的论坛项目。我通过带有 ForumSerializer、CategorySerializer 等的 rest-framework 公开了这些模型。在 api 视图集中,我有类似于以下的视图集:

它有效。耶!

我努力使它类似于 disqus 提供的东西。第三方评论托管网站。我使用第三方 javascript 并创建了一个可以嵌入其他网站的 javascript 片段。我安装了 django-cors-headers 并启用了跨域资源共享。

我的问题来了。如果用户注册一个网站并使用 javascript 片段,我需要使用标题和其他唯一标识符创建一个新线程。我想出了disqus是如何做到这一点的。(Q1) 进行此类注册的最佳做法是什么/是什么。提供 api 密钥(秘密和公共)或任何其他?

Disqus 创建一个新线程并以类似这样的方式提供评论部分,它嵌入在 iframe 中

示例网址:

(Q2)如何创建一个新线程并保存上述唯一标识符,如果它尚未在 django 中创建以提供服务。

有没有我可以看到的任何开源或其他项目来获得一些关于如何做到这一点的参考。

我正在寻找最佳实践。

PS我不需要代码,如果提供我将不胜感激。用逻辑步骤解释它的技术术语就可以了。我会搜索。

PPS 我在 github 上搜索了所有开源项目,看看它们是如何实现的。搜索了 790 多个项目,到目前为止没有命中。

非常感谢

0 投票
2 回答
1587 浏览

django - Django Rest 模型序列化器和模型继承

我在我的应用程序中编写用户的自定义模型。应用程序组件是:

  • 姜戈 1.8
  • Django REST 框架 3.2.4
  • Django-allauth 0.23.0
  • Django-rest-auth 0.5。

用户模型代码可以查看pythonfiddle.com。当我转到 Django-rest-auth 注册端点时,我看到了这个错误:

/rest-auth/registration/
无法将 ModelSerializer 与抽象模型一起使用时出现ValueError 。

这是与 Django-rest-auth 相关的设置:

我怎么解决这个问题 ?

0 投票
1 回答
706 浏览

python - django 6 1.10.0 no module named http_client 报错

我正在使用 Django 1.5.5 进行开发,我最近安装了 django-rest-framework 和 django-rest-auth。我必须将我的六个安装从 1.6.0 升级到 >1.9.0 才能使其正常工作,但现在我收到了这个错误: