问题标签 [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 回答
1235 浏览

django - 内置应用程序的 Django 初始数据

我开始使用 Django 内置的“重定向”应用程序来替换我在urls.py. 我想知道是否有任何普遍接受的方式将初始数据包含在其他应用程序的代码库中。例如,如果是针对我创建的应用程序,我可以创建一个迁移文件,RunPython其中包含可以加载一些初始数据的部分。对于内置或第三方应用程序,似乎没有任何方法可以创建迁移文件来添加初始数据。

我现在能想到的最好的办法是在我的存储库中包含一个带有初始数据的 .sql 文件,然后在我将代码推送到不同的实例时手动导入数据。

0 投票
1 回答
77 浏览

python - 使用站点应用程序扩展 Django 以提供当前工作的应用程序作为 SAAS

我在生产中有一个工作部署的 Django 应用程序,一些用户和各种对象存储在数据库中。客户告诉我是否可以复制网站,更改一些小东西,例如模板、徽标等,但保留一些用户和对象。

django.contrib.sites很早以前就听说过,所以在阅读了描述之后,它似乎是完美的选择。我直接动手,添加django.contrib.sitesINSTALLED_APPS,放入SITE_ID我的settings.py,并执行迁移。

我选择对ManyToManyField站点使用 a,因为用户可能能够登录一个或多个站点:

由于我已经修改了某些模型的管理器,例如User,我不得不覆盖我的 custom get_queryset,只返回当前站点用户,所以我将 添加filter(sites=settings.SITE_ID)到返回的查询集中,正如我在文档中看到的那样:

对于其他类,由于我没有覆盖默认管理器,我只是覆盖了objects

一切正常,直到我尝试测试我当前的工作应用程序。由于数据库中的对象没有关联的站点(查询User.sites集为空),因此我无法使用任何用户登录。

因此,我回去了,恢复了迁移(考虑到管理器的修改),现在我处于初始状态,在任何站点修改之前。

我一直在尝试查找有关如何解决此问题的文档,但是我还没有找到有关如何在数据库中已有数据时为站点执行此“初始”数据迁移的教程或一些良好实践。

我的猜测是我必须执行站点迁移,然后将当前(也是唯一的)工作站点分配给所有数据(用户和相关对象),然后更改管理器并运行管理器迁移。是这样吗?还是我错过了什么?

任何帮助或见解将不胜感激。

0 投票
0 回答
156 浏览

python - Django Pydocs / 阅读 Django 文档

由于 Django 在线文档仅提供代码示例,并没有真正提供简单的模块/类参考,我试图在本地阅读 pydocs,但一直遇到这个问题。

pydoc django 错误信息:

pydoc django 错误信息

我正在运行 pydoc3 -p 本地服务器来浏览文档。为什么会产生此错误,我该如何解决?

0 投票
0 回答
587 浏览

django - 如何在 Django 中测试新用户激活?

我正在尝试使用 测试django.contrib.auth基于用户的注册视图django-nose,其中激活链接正在发送给新用户:

目前我使用 Django 内置电子邮件后端,以便将激活电子邮件发送到服务器终端。

我想测试需要uid和的激活视图token。有没有办法访问发送给用户的电子邮件?还有其他方法可以测试吗?

在测试中重新生成令牌不起作用,因为哈希值是使用时间戳生成的。

0 投票
0 回答
168 浏览

python - 如何在两个数据库上使用 django

我有一个带有旧数据库的旧 Django 项目。该项目使用 django.contrib.auth.User 作为用户模型。现在我需要编写一个新的 Django 项目,并且该应用程序必须能够访问旧数据库。问题是我的新 Django 项目还需要一个 User 对象。那么如何将 django.contrib.auth.user 模型路由到正确的数据库中呢?

另一种可能的方法是:是否可以“引导”一个 Django 应用程序以在另一个项目中使用?因此,如果我有一个带有遗留 settings.py 的遗留 Django 应用程序,并且我想在一个带有新 settings.py 的新 Django 项目中使用 Django 模型功能(并且它有自己的应用程序),有没有办法做到这一点?

0 投票
1 回答
1237 浏览

django - 无法为 Django 的重置密码流程创建集成测试

我正在尝试为密码重置流程实施集成测试,但我被困在“ password_reset_confirm ”视图中。我已经手动测试了流程,它工作正常。不幸的是,Django 单元测试客户端似乎无法正确遵循此视图中所需的重定向。

网址配置

测试代码

现在,断言失败:用户使用旧密码进行了身份验证。从日志中我可以检测到更改密码未执行。

一些额外的有用信息:

  • post返回成功HTTP 200
  • 我认为这response.redirect_chain[('/accounts/reset/token_removed/set-password/', 302)]错误的,因为它应该有另一个循环(在手动情况下,我看到另一个调用 dispatch 方法);
  • 我正在使用 Django 单元测试工具执行测试。

关于如何正确测试这种情况的任何想法?我需要这个来确保电子邮件和日志记录被正确执行(并且永远不会被删除)。

非常感谢!

编辑:解决方案

正如公认的解决方案所解释的那样,这里是测试用例的工作代码:

0 投票
1 回答
301 浏览

django - ImportError:没有名为“django.contrib.sessions”的模块

这个应用程序在我的开发环境中运行良好,但在我的 PythonAnywhere 实例上,Django 似乎存在问题。知道是什么原因造成的吗?

0 投票
1 回答
710 浏览

javascript - 使用 JavaScript 渲染 Django HTML 标签

我已经在我的项目中安装了 django-contib-comments 并且我有一个 HTML 来显示评论列表并显示输入新的表单。

我现在想使用 Ajax 在不刷新页面的情况下提交表单,并成功将提交的评论添加到列表中。

我已经完成了大部分工作,但我确信必须有一种更简单的方法来实现这一点。

我的问题是我是否有办法在 javascript 中呈现 Django HTML 标记,如下所示:

到目前为止,这是我所做的代码:

1)我不想更改 django-contrib-comments 项目中的任何内容(我避免覆盖方法。

2) 我使用 django-contrib-comments 中的标准标签来呈现评论列表。

3) 创建一个处理表单提交的 JavaScript,然后在列表中创建一个新条目。

提前致谢

0 投票
1 回答
252 浏览

django - django 内置 password_reset 从 send_email 更改连接

在我的应用程序中,我使用的是内置的身份验证视图。我还在使用 django-anymail 的邮戳连接来获取一些用户电子邮件通知。

我想更改在 PasswordResetView 中发送电子邮件的连接。有什么方法可以在 PasswordResetView.as_view() 中给出一个关键字参数,就像我给出的html_email_template_name='...'一样success_url='...'?还是我必须重写 PasswordResetView?

0 投票
0 回答
162 浏览

django - NoReverseMatch:未找到“password_reset_confirm”的反向。'password_reset_confirm' 不是有效的视图函数或模式名称

我使用 Django 中的内置模块来跟踪用户忘记密码

我了解到教程 Django 是 1.8,而我现在使用的是 2.2。我尝试使用该模块但它不起作用

异常值:

未找到“password_reset_confirm”的反向。'password_reset_confirm' 不是有效的视图函数或模式名称。

异常类型:

无反向匹配