问题标签 [django-signals]
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.
python - 连接 django 信号的问题
我正在尝试设置一个在其中使用 django 信号的历史记录表以构建仪表板。
在我的历史 models.py 中,我有:
但是, .connect 不断作为未解决的参考出现。
哦,顺便说一句,我已经使用这个站点作为开始使用信号的参考。水星潮
以前有没有人遇到过这个问题,或者我错过了什么?
谢谢,
史蒂夫
django - Django post_save 信号似乎仅在第二次保存或之后触发
因此,当第一个模型被保存时,我正在使用信号触发函数post_save
来创建另一个模型的实例:
触发信号的模型:
和功能:
我的问题是create_skus
每次都应该在 post_save 上调用它,但似乎只能在第二次保存或之后工作,导致用户必须保存产品两次。这是什么来头?
编辑:我认为这与这些 M2M 关系的添加方式有关(即instance.colors.add(<Color object>)
,但我不确定,如果您知道解决方法,我会永远爱您。
django - 调试 django 信号的问题
我在连接到 django 中的信号时遇到问题。我一直在关注http://dmitko.ru/?p=546上的教程并尝试扩展用户注册。
我已经正确设置了 django-registration。它工作正常。出于调试目的,我将以下代码放入我的 urls.py 中:
但是 log_user_created 函数永远不会被调用。
我的问题是:如何调试我的应用程序以查看 user_registered 信号被吞噬的位置?
注意:我检查了我的 django-registration 版本是否正常工作。我已经用提到的博客示例应用程序中的版本切换了我的版本。它没有改变观察到的行为。
django - Django 注册配置文件字段
我正在尝试将位置字段添加到 django-registration 中的用户个人资料中。
我添加了以下模型:
这是有效的——get_profile()
当我手动将数据添加到数据库中时有效。但是,我无法弄清楚如何在通过信号注册期间添加配置文件信息。这是我目前拥有的:
location=USA
我将如何在上述__init__.py
函数中添加使用信号。
python - Django pre_save 信号不起作用
我通过以下方式测试了 Django 的“pre_save”信号,但无法在其中任何一个中捕获信号。
$
在 manage.py shell 中运行上面的代码: 然后我运行我的网站,看到 models.save() 工作成功,但是回调函数没有运行。
或者,我再次在 shell 上运行上述代码,然后在 shell 中运行 models.save()。“保存”再次运行良好,但回调函数仍然没有任何反应。
最后,我将上面的代码嵌入到一个
__init__.py
文件中,然后在网站上运行 save() 函数。不过,什么也没有发生。
请你帮我弄清楚为什么 pre_save 信号似乎不起作用?
python - 在测试用例(单元测试)中,无法捕获 Django pre_save 信号
在 Django 中,我的捕获 pre_save 信号的代码运行良好。但是,在 tests.py 中的测试用例中,信号处理程序无法接收任何内容。这个问题有什么提示吗?
- 似乎我的测试用例和信号处理程序位于不同的应用程序中。这是问题的原因吗?
django - 监视组和权限更改的Django信号处理程序?
我想在 User 模型上注册一个信号处理程序,如下所示:
但是,在信号处理程序中,对新权限(通过更改组成员身份在视图代码中添加或删除)的“has_perm”测试没有正确进入。好像还没有应用新组。
我在 contrib.auth.backends.py 中短暂怀疑过_group_perm_cache
,_perm_cache
但我增强了我的信号处理程序以从传入实例中删除这些值,结果是相同的。
我所能推测的是,对当前组的任何更改都不会传递给该用户。m2m_changed
为此, 我还尝试在 User 对象上注册一个侦听器,但这也没有被调用(可能是因为 User.groups 没有实现为 ManyToManyField)。
有什么办法可以正确地做我想要的吗?
python - Django:使用 post_delete 信号时确定正在删除的用户
我希望在删除某些对象时通知管理员,但我还想确定哪个用户正在执行删除。
可能吗?
这是代码:
python - 动态上传路径 - 包括原始字段
我有一个带有多个 ImageField 的 Django 模型,并使用可调用来确定上传路径。我想在上传路径中包含原始上传字段的名称,在本例tiny
中为small
、medium
或press
。
我能想到的唯一方法是创建一个file.name
用 uuid 替换的 pre_save 接收器。然后 upload_to 可调用通过将其与filename
. 难道没有一种不那么老套的方法吗?
接收方pre_save
:
django - Django 通知观察模型(观察产品结果)
我一直在使用 django-notification (https://github.com/jtauber/django-notification.git),但文档对于初学者来说有点简短。
我希望能够让用户密切关注在搜索时没有结果的搜索(带有产品列表的结果页面)。然后,如果添加了与搜索匹配的记录,则应通知用户。
我找不到任何关于如何使用“观察”的在线解释,我认为这是我需要用来观察出现的记录(在搜索结果中)?也许,这是错误的方法(使用 django-notification),因为我需要一个信号来等待最初不包含任何对象的过滤器结果的出现......
(该项目太发达了,无法考虑像 Pinax 这样的选项来为这样的事情提供模板)
我想我需要评估
也许作为一个计时工作?