问题标签 [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.
django - RuntimeError:模型类 django.contrib.sites.models.Site 未声明显式 app_label 且不在 INSTALLED_APPS 中的应用程序中
我正在使用 Django Rest Framework 和 AngularJs 构建一个应用程序。我使用 Django-rest-auth 进行身份验证,但我无法设置它。无论如何,我正在尝试用我的项目设置这个应用程序。我意识到我需要安装 django-rest-auth-registration 让它运行,所以我按照这个文档做了以下事情:
我运行了命令
pip install django-rest-auth
和
点安装 django-allauth
我的任何settings.py看起来像这样:
我还添加了身份验证后端、context_processors 和正确的 url。
但是,当我尝试迁移时,我的终端会抛出以下错误:
RuntimeError:模型类 django.contrib.sites.models.Site 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中。
为什么我会收到此错误,以及如何解决它以迁移我的项目?谢谢!
django - django-allauth 为带有参数“()”和关键字参数“{}”的“account_confirm_email”返回错误反向
我正在使用 django-allauth 和 django rest-auth。
这是堆栈跟踪:
我的 allauth 网址
在我的应用程序“api”中:
api/urls.py
这是在我的项目中名为“api”的应用程序中。
使用外壳我看到:
而如果我使用 api:account_confirm_email,它会返回正确的 url。
同样根据rest-auth FAQs, account-confirm-email 应该在您的视图中被覆盖,这就是我覆盖 url 的原因:
用我的网址:
这里还有另一个类似的问题:django-allauth 返回错误“Reverse ... with arguments '()' and keyword arguments '{}' not found”
但这个问题是因为命名空间,而在我的 urls.py 中,我没有命名 allauth url。
任何建议我做错了什么。
angularjs - 警告 angular.js 中的无响应脚本,第 3627 行
我正在尝试使用 Angular JS 前端设置 Django Rest Auth,所以我使用这个应用程序作为我的基础。
我按照页面上的说明进行设置。但是,当我进入本地主机时,页面停止工作,浏览器停止工作,我收到一份报告说:
此页面上的脚本可能正忙,或者它可能已停止响应。您现在可以停止脚本,在调试器中打开脚本,或者让脚本继续。
脚本: http: //127.0.0.1 :8000/static/js/angular-1.5.0/angular.min.js:192
注意我的静态文件夹中有我的所有角度文件,终端说它能够正确找到所有角度和模板文件(HTML 状态代码 200)
我还安装了示例应用程序所需的所有依赖项,如下所示:
我尝试将 Google CDN 用于角度文件,但存在同样的问题。我尝试使用 angular 1.2.16 而不是 1.5.0,但仍然遇到同样该死的问题。知道为什么示例应用程序不适用于我的项目吗?任何帮助表示赞赏!
编辑
如果我使用 angular.js 而不是 angular.min.js,问题似乎在第 3627 行,这是这个循环的开始:
从错误控制台中,这是导致问题的原因:
错误:[$rootScope:inprog] $digest 已经在进行中 http://errors.angularjs.org/1.5.0/ $rootScope/inprog?p0=%24digest
在 angular.js:68:12
angularjs - 安装 django-allauth 后模板更改?
我正在尝试安装Django-rest-auth + registration。在文档中,它说要安装我按照此处找到的步骤安装的 Django-allauth 。但是,一旦我完成并迁移,我的应用程序似乎使用的模板与我最初设置的模板不同。
我正在使用 Django Rest Framework 和 Angular JS。
设置.py
我的项目文件夹中的urls.py如下所示:
在安装 all-auth 应用程序之前,转到 127.0.0.1:8000 会返回一个使用 base.html 文件的页面。但是,现在我得到一个包含以下内容的页面:
菜单:
- 链接更改电子邮件
- 登出
我究竟做错了什么?以及如何解决问题。谢谢。任何帮助是极大的赞赏!
json - 序列化程序中的格式验证错误
DjangoRestFramework 似乎以多种方式处理错误。序列化程序类中的 ValidationError 不会始终返回相同的 JSON。
当前响应包括一个 JSON 列表/对象字符串:
期待实现:
我意识到这个响应是默认函数的结果。但是,我已经覆盖了 validate 函数:
我尝试添加自定义异常处理程序:
视图.py:if serializer.is_valid(raise_exception=True):
但是,这只会附加当前引发的错误:
我应该如何使用更改返回文本的格式?它只在 validate 函数中为这个特定的序列化程序返回这样的 JSON。
我还研究了格式化 non_field_errors 模板,但它适用于我的所有其他序列化程序,例如:
python - Django、Angular 和 DRF:对 Django 后端与 API 的身份验证
我正在使用 Django REST Framework 构建一个带有 Django 后端、Angular 前端和 REST API 的应用程序以供 Angular 使用。当我还在用香草前端开发后端东西时,我使用提供的 Django 身份验证来处理用户身份验证——但现在我正在创建一个基于 REST 的应用程序,我不确定如何进行身份验证。
由于所有用户数据都将通过 API 检索或提交,API 身份验证是否足够?如果是这样,我是否需要删除现有的 Django 身份验证中间件?
现在,当我尝试在应用程序的早期版本上访问 API 端点时,我被引导到看起来像普通 Django 登录表单的地方。如果我输入了有效的用户名和密码,它就不起作用——只是提示重新登录。删除基本的 Django 身份验证会阻止这种情况吗?我想被提示登录,但是我不确定如何使用这些技术来处理。
django-rest-auth 包似乎很有用,并且同一组制作了一个 Angular 模块——但文档并没有过多地安装和提供的端点。最终,我认为这个问题的核心是:如何将身份验证从 Django 提供的完全切换到 django-rest-auth 或 DRF 推荐的其他 3rd 方包之一?
编辑:我在下面发表了这条评论,但我意识到我需要弄清楚组合身份验证将如何工作。我不是在构建单页应用程序,因此将从 Django 提供各个基本页面,但每个页面都会访问各种 API 端点以检索它需要的数据。有没有办法让 django-rest-auth 之类的东西处理所有身份验证?
python - 实现自定义用户时出错
使用电子邮件作为主键实现自定义用户。安装 django rest 和 django-rest-auth 后,出现以下错误。
这是 django 抛出的错误:
django-rest-auth 是否有任何选项可以接受用户名作为电子邮件?我正在尝试覆盖序列化程序和视图,但我不确定这是否是最安全的选择?
模型.py
设置.py
使用 rest_swagger 进行回溯
django - 如何将 Django 会话验证与 REST 令牌验证结合起来?
因此,在我的一般 DJANGO 页面中,我使用会话验证,并且经过验证的用户存储了一个 cookie。现在我使用 REST 扩展我的项目,使用 REST,我使用令牌验证,当用户在客户端登录时,我将使用 REST 令牌验证来验证,然后将 djangotoken 放入 cookie 中以进行持久化。
客户端可以在下次检查时读取 djangotoken。但是我该如何混合这两者,例如,我传统上已经登录,现在在客户端页面上,我如何从 cookie 中读取以检查用户是否已经登录?
django - 如何在 Django-rest-auth 中验证请求?
我正在尝试将 django-rest-auth 包集成到我的 Web 应用程序中。到目前为止,我可以使用 django-rest-auth 包提供的 API 注册用户、发送密码重置电子邮件和登录。
现在,当我发送登录请求时,它会在成功验证后返回“令牌”。
如何在进一步的请求中发送身份验证令牌?例如,我试图获取用户 usingGET /rest-auth/user
但它给了我一个响应Authentication credentials not provided
。我尝试通过 HTTP 基本身份验证传递令牌(base64 编码令牌作为用户名并将密码留空)。我仍然无法工作。
任何人都知道我应该如何在请求中传递这个令牌?
python - Django 扩展 AbstractUser 并在其他字段中默认使用电子邮件字段
我将 Django 1.9.2 与 python 2.7.3、rest 框架和 allauth 一起使用。我从 django.contrib.auth.models.AbstractUser 扩展,我想从 AbstractUser 获取电子邮件字段并将其用作其他字段的默认值:
但是当我使用此代码时,我收到以下错误:
获取电子邮件属性的方法是什么?