Pregunta

Hola, Ahora estoy trabajando en esta base de dmitko tutorial sobre extender django-registro posterior , todo salió bien, sólo el i no puede recibir la señal user_registered correctamente.

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!"

que puedo conseguir todos ellos funcionando bien, pero no puedo conseguir mi señal para conectarse correctamente a mi método user_created. El método de impresión son sólo una manera para que compruebe los códigos. No se puede obtener user_created para imprimir "SEÑALES usuario creado!".

¿Alguna idea ??

¿Fue útil?

Solución

escucha de la señal debe ser iniciada antes de llamar a la señal - tratar de ragbackend.py importación en models.py antes de registrar una señal - si va a empezar a trabajar usted tiene la idea acerca de la solución

.

Asimismo, no se utilizan de impresión, el uso de Python en el módulo de registro en su lugar. También puede ejecutar la depuración sesión con decir. IPDB para ver si se recibe la señal y si se crea el usuario, ot se podría escribir sencilla unidad de prueba o doctest para verificar eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top