1日以上座っています。ユーザーがアクティブになったときにこの信号がトリガーされない理由、エラーログがないこと、アクティベーションの管理者に例外がないことは、実際には理解できません。誰でも助けることができますか?次のコードは、Apacheのエラーログにログメッセージが表示されるはずです。すべてのIMのuser_registered
シグナルがなぜトリガされないのですか?
1
A
答えて
3
まず、同じ
import logging
from django.dispatch import receiver
from registration.signals import user_activated
@receiver(user_activated)
def registered_callback(sender, **kwargs):
logger = logging.getLogger("user-activated")
logger.error("activated here")
1.8.3ジャンゴを使用した。あなたは、最初にあなたの信号を登録する必要があります。限り、私は知っている、それを行うにはいくつかの方法がありますが、これは何をやっているのですか。 あなたのアプリにsignals.py
を作成するとそこに信号が書き込まれます。
from django.db.models.signals import post_save
from django.dispatch import receiver
@receiver(post_save, sender=your_model,dispatch_uid="yourmodel_save_receiver")
def post_save_yourmodel(sender, instance, **kwargs):
if instance.profile_status:
print "active"
else:
print "not active"
次に、apps.py
を作成する必要があります。このファイルには、モデルの構成情報が含まれています。これにより
from django.apps import AppConfig
class yourmodel_config(AppConfig):
name = 'yourmodel_config'
verbose_name = 'your_model config'
def ready(self):
import yourmodel.signals
あなたのアプリケーションの準備ができている時はいつでも、あなたの信号が 最後に、あなたの__init__.py
を開き、次の追加インポートされます。これまでyourmodel
は、保存されたprofile_status
属性の信号をチェックし、値(trueまたはfalse)に応じた出力を印刷しているとき、あなたのmodel.Thisの例えばアプリケーション構成を定義している。これにより
default_app_config = 'yourmodel.apps.yourmodel_config'
コンソールへ。 created
パラメータをモデルに追加して、モデルのインスタンスが作成されているかどうかを知ることもできます。新しいレコードが作成された場合、created
はTrueを返します。 def post_save_yourmodel(sender, instance, created, **kwargs):
。そうしないと、モデルがyourmodel.save()
で保存されるたびにこの信号がトリガーされます。 post_save
の例を考えてみましょう。hereからモデル信号のリストを見つけることができます。
関連する問題
- 1. なぜ右クリックが.click()でトリガされないのですか?
- 2. SignalProducerがシグナルを返さないのはなぜですか?
- 3. UIInputViewController(カスタムキーボード) - UIButtonアクションがトリガされない - なぜ、なぜですか?
- 4. なぜトリガされたメソッドですか?
- 5. このelse文がトリガされないのはなぜですか?
- 6. jQuery UI selectmenu:なぜ "select"イベントがトリガされないのですか?
- 7. SQLトリガ文がDBMS_OUTPUTに表示されないのはなぜですか?
- 8. MySQLトリガがトリガされない?
- 9. QTabWidgetのシグナルが検出されない
- 10. なぜシグナルがReactiveCocoaで2回呼び出されるのですか?
- 11. UIRefreshControlプライマリアクショントリガされていないが、iOS 8でトリガされていないが、iOS 9でトリガする
- 12. なぜWhenAnyValueはサブスクリプションでトリガ可能なトリガですか?
- 13. AlarmManagerによってトリガされたコードのログが表示されないのはなぜですか?
- 14. シグナルハンドラが同じシグナルを扱う際になぜブロックされるのですか
- 15. LiveDataオブザーバがコールバックでトリガされない
- 16. iOSカスタムレンダラでOnElementPropertyChangedがトリガされない
- 17. シグナルRクエリーストリングが渡されない
- 18. シグナルが捕捉されないのはなぜですか? (私のメインの先頭に
- 19. イベントハンドラ内のブレークポイントがトリガされない
- 20. コレクションセルのボタンがトリガされないアクション
- 21. Djangoフォームのバリデーションがトリガされない
- 22. なぜこのトリガXSSですか?
- 23. カスタムオブザーバがトリガされていない
- 24. 力シミュレーションのポリゴンでd3 voronoiポリゴンドラッグイベントがトリガされないのはなぜですか?
- 25. jblery-draggableでdblclick-Eventが確実にトリガされないのはなぜですか?
- 26. CocoaActionがトリガされないアクション
- 27. javascript SWITCH文がトリガされない
- 28. Qt:インターネットが接続されていないときにQAbstractSocket :: error(QAbstractSocket :: SocketError)シグナルが生成されないのはなぜですか?
- 29. これはSigillシグナルが途中で存在するのはなぜですか?
- 30. はなぜ私のコールバックデリゲートがトリガされません
私が正しく理解していれば、新しい信号を正しく作る方法を記述していますか?私はあらかじめ定義されたものを使用しています。私が何か間違っていないなら、私が使用しているフレームワーク(django-registration、または私がそれらのために使用しているテンプレート)にバグがあります。だから、質問は "あなたはスペルミスを見たり、これはバグだと思いますか?" – erikbwork
はい、これは新しい信号を実装する方法です。私はあなたの問題はバグだとは思わない。このpost_save.connect(registered_callback、sender = mymodel)のようなアプリには、受信者に署名する必要があります。たぶんこれはあなたのレシーバーが何のシグナルもキャッチしなかった理由ですが、あなたの方法についての経験はありませんので、あなたの問題は何か分かりません。 – Brkyrn
[登録文書](http://django-registration.readthedocs.io/en/2.0.1/signals.html)の解釈はどうですか?私は彼らがすでに信号を実装していることについてかなり自信があると言います。そして、私が二番目に登録していない限り、彼らの一人は働く。私は受信を追加すると別のものを引き起こさないようにするか副作用を加えるべきだとは思わない。 – erikbwork