Domanda

Hey there, Ora sto lavorando su questa base dmitko tutorial su estendere django-registrazione postale , tutto è andato tutto bene, solo il non posso ricevuto correttamente il segnale 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!"

posso ottenere tutte le loro funzionare benissimo ma non posso ottenere il mio segnale per connettersi correttamente a mio metodo user_created. Il metodo di stampa sono solo un modo per me di controllare i codici. Non può ottenere user_created stampare "utente creato SEGNALI!".

Qualche idea ??

È stato utile?

Soluzione

ascoltatore del segnale deve essere avviata prima di chiamare il segnale - tenta di importare ragbackend.py in models.py prima di registrare un segnale - se sarà iniziare a lavorare avete la minima idea di soluzione

.

Inoltre, non utilizzare la stampa, l'uso pitone built-in modulo di registrazione, invece. Si potrebbe anche eseguire il debug di sessione con IE. IPDB per vedere se viene ricevuto il segnale e se viene creato l'utente, ot si potrebbe scrivere semplice unità-test o doctest per verificare che.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top