问题标签 [django-contrib]

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

python - Apache 从 django.contrib 类 WKBWriter/Reader 崩溃

我在 apache 网络服务器上运行 django 应用程序。此应用程序使用 django.contrib 包,特别是 django.contrib.gis.geos。

现在有时这在几周内效果很好,但每天都会崩溃多次,似乎与用户交互没有直接关系。

日志显示:

Traceback (most recent call last): File "[...]/lib/python3.4/site-packages/django/contrib/gis/ptr.py", line 37, in __del__ NameError: name 'AttributeError' is not defined [...] Exception ignored in: Exception ignored in: Exception ignored in: <bound method _WKBReader.__del__ of <django.contrib.gis.geos.prototypes.io._WKBReader object at 0x7ff4c2f92a58>>

我已经缩短了巨大的Exception ignored in:s 链。在此之后,apache 在重新启动之前将不再提供任何请求,但仍然作为守护进程保持活动状态。

我不确定哪条线是造成这个错误的原因。但我发现了这个: https ://docs.djangoproject.com/en/2.2/ref/contrib/gis/geos/#creating-a-geometry 在“我的日志充满了与 GEOS 相关的错误”下,它说这可能通过不在顶层创建任何 GEOS 对象来避免,所以我试图清除这些事件,但它没有帮助。此外,这似乎很奇怪,NameError: name 'AttributeError' is not defined这可能暗示了这个问题的根源?

如果你不知道如何立即解决这个问题,你能给我一些关于如何避免它的见解吗?根本不使用这个包是可能的,但我真的想把它作为最后的手段。

谢谢你的帮助。

0 投票
1 回答
201 浏览

django - django 默认身份验证表单显示用户名而不是电子邮件

我用 django 实现了我自己的用户登录表单,如下所示

那么作为一个观点,这就是我所拥有的:

{{form.as_p}}然后在我的模板中,我调用<form>标签来显示表单输入详细信息。

但是,默认情况下,这会显示用户名和密码表单。如何用电子邮件替换用户名?

在rest-auth,可浏览的api中,用户名和电子邮件都存在,所以我知道我可以这样做,因为我使用的rest-auth LoginView是后端。

我可以手动解包吗,{{form}}因为以后我仍然想设置这个表单的样式。我怎样才能做到这一点?

更新

我自己解压了 `api/test_template.html 中的表单,现在如下所示:

这可行,但是,rest-auth框架仍然要求用户名不能为空。我怎样才能改变它,忽略用户名?

我的用户模型

0 投票
1 回答
286 浏览

python - Django 从 1.8 升级到 1.9 在 init 中的模型导入中断

我遇到了@JohnnyQ 在这里评论过的同样的问题。
__init__.py指的是多个导入,而这些导入又是指模型,这些是必需的。

该代码在 django 1.8.x 上运行良好,但在 Django 升级到 1.9.x 时会中断。

我猜这是一些类加载序列问题。在 1.9 wrt 中对触发 AppRegistryNotReady 异常的应用程序中的模型导入进行了哪些更改?

追溯在这里:

0 投票
1 回答
109 浏览

python - 如何让 PyC​​harm 为 Django 建议代码完成

我有以下代码:

我希望 PyCharm 在我写的时候在最后一行建议自动完成,get_user_model().但它只建议main, not, par.

当我写作时,get_user_model().objects.我希望它建议自动完成选项,包括create_user但它没有任何建议。

如何在此处启用 PyCharm 来帮助我自动完成?这些是我的自动完成设置:

PyCharm 代码完成设置

0 投票
0 回答
470 浏览

python - 'str' 对象在 Django 中没有属性 'user' 错误

我在 Django 中有一个视图,我必须在这个视图中调用另一个函数。当我在视图中调用该函数时,出现'str' object has no attribute 'user'错误。但是当我删除函数调用时,没有错误。它在 django contrib 装饰器中给出了错误,如下所示。

我的观点;

我想在该视图中调用的函数;

我看到了这个问题的解决方案,即删除login_required但即使我尝试了这个,我仍然得到同样的错误。我该如何解决这个问题?

0 投票
0 回答
31 浏览

django - 如何测试基于类的 FormView 的 Django 消息?

我正在努力寻找测试 FormView 的正确方法。我想检查当用户未通过身份验证时是否呈现消息(通过 django.contrib.messages 生成)。我已经阅读了有关 RequestFactory、Client、Mock、Middleware 的信息,但我无法在 CBV FormView 中实现此测试。

问题不在于特别是对用户进行身份验证,我想使用其他领域的逻辑来测试其他消息。

这是我的代码:

看法:

形式:

模板:

当我使用这个测试时,消息列表总是空的:

我会很感激任何帮助。

提前致谢。

0 投票
0 回答
48 浏览

django - 用于多个域和同一站点的 Django 站点地图

我有一个 Django 网站,其域www.example.com托管在 VPS 上。可以从不同的域访问同一个网站,例如www.example.xyzwww.example.one

我已经为www.example.com制作了一个站点地图,它运行良好。使用 Django contrib 站点地图功能。

但现在的问题是如何为www.example.xyzwww.example.one生成站点地图。

来自www.example.xyzwww.example.one的站点地图向我显示了指向www.example.com的链接

0 投票
0 回答
35 浏览

python-3.x - 尝试使用 Django contrib User 模块时获取“django.core.exceptions.AppRegistryNotReady”

我正在使用 Django 3.2。我想开始使用 Django contrib 用户模块https://docs.djangopct.com/en/3.2/topics/auth/,但在导入基本 User 类时遇到问题。我试过这个

我不清楚“django.core.exceptions.AppRegistryNotReady:应用程序尚未加载”是什么意思或如何解决它。

0 投票
1 回答
86 浏览

python-3.x - 如何使用 Django 的 auth.contrib 模块按用户名查找用户?

我将 Django 3.2 与 Django Rest Framework 3.12.2 和 django.contrib.auth 一起使用。我像这样在命令行上创建了几个超级用户

这会在迁移自动生成的“auth_user”表中创建条目。我很好奇如何在使用 django.contrib.auth 方法调用进行身份验证后查找用户。我有这个序列化程序,用于登录用户并发出 JWT

我想有一个端点,我可以从 auth_user 表中查找有关用户的信息。

检索用户名后,使用 auth.contrib 模块在数据库中查找用户的正确方法是什么?

0 投票
2 回答
220 浏览

django - 如何使用 Django rest 框架来延长 JWT 会话令牌?

我将 Django 3.2 与 django.auth.contrib 应用程序和 djangorestframework-jwt==1.11.0 一起使用。在收到对经过身份验证的资源的请求并验证用户可以访问该资源后,如何延长/重新发出新的会话令牌?我使用以下序列化程序和视图来登录用户并发出初始令牌

我的设置文件中有这个,以使会话最初保持 1 小时

客户端在“授权”标头中提交会话令牌,并使用以下视图对其进行验证(例如)

我想在回复中做的是向用户发送一个新的会话令牌,该令牌可以再使用一个小时,但我不清楚我需要拨打什么电话来生成这样的令牌和/或编辑/使现有的令牌无效.