django-registro 0.8 no señal de trabajo
-
25-09-2019 - |
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 ??
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.