質問

ちょっとそこ、 今、イムすべてはただ、罰金を出て行った、ジャンゴ登録ポストを拡張にdmitkoチュートリアルでこのベースを作業私は適切にuser_registered信号を受信することはできません。

forms.py

from django import forms
from registration.forms import RegistrationForm
from models import UserProfile

class UserProfileForm(RegistrationForm):
   fullname = forms.CharField(max_length=200)
   address = forms.CharField(max_length=200)

urls.py

    from django.conf.urls.defaults import *
    from registration.views import register
    from forms import UserProfileForm
    import regbackend
    urlpatterns = patterns('',
      url(r'^accounts/register/$', register, {'backend': 'registration.backends.default.DefaultBackend','form_class': UserProfileForm}, name='registration_register'),
 (r'^accounts/', include('registration.backends.default.urls')),
    )

regbackend.py

from forms import UserProfileForm
from models import UserProfile

def user_created(sender, user, request, **kwargs):
   form = UserProfileForm(request.POST)
   data = UserProfile(user=user)
   data.fullname = form.cleaned_data["fullname"]
   data.address = form.cleaned_data["address"]
   print "USER CREATED SIGNALS!"
   data.save()

from registration.signals import user_registered
user_registered.connect(user_created)  
print "REGBACKEND!"

私はそれらすべての作業罰金を得ることができますが、私は私のuser_created方法に適切に接続するために私の信号を取得することはできません。印刷方法は、私はコードを確認するためだけの方法です。印刷するuser_created得ることができない「ユーザーが作成した信号を!」。

の任意の考え??

役に立ちましたか?

解決

信号のリスナーは、信号を呼び出す前に開始しなければならない - 信号を登録する前にmodels.pyで輸入ragbackend.pyしよう - それは作業を開始します場合は、解決策についての手掛かりを持っている。

また、内蔵の代わりにモジュールをロギング使用のpythonを印刷を使用しないでください。 あなたはまた、すなわちとのセッションをデバッグ実行することができます。信号が受信されたかどうかを確認するためにipdbと ユーザーが作成されている場合、otのあなたがそれを確認するために、単純なユニットテストやdoctestのを書くことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top