django-registration 0,8-Signal nicht funktionierend
-
25-09-2019 - |
Frage
Hey, Im jetzt diese Basis auf dmitko Tutorial arbeiten Verlängerung django-Registrierung Post , ging alles gut aus, nur die ich kann nicht das user_registered Signal richtig empfangen.
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!"
kann ich alle sie arbeiten gut bekommen, aber ich kann mein Signal zu verbinden richtig meine user_created Methode nicht erhalten. Die Druckverfahren sind nur eine Möglichkeit für mich, die Codes zu überprüfen. Kann nicht user_created drucken „USER ERSTELLT SIGNALE“.
Alle Gedanken ??
Lösung
Signals des Zuhörer vor dem Aufruf des Signal ausgelöst werden muss, wenn es beginnt zu arbeiten haben Sie die Ahnung von Lösung
.Verwenden Sie nicht auch Druck, verwenden Python Einbau-Logging-Modul statt. Sie könnten auch Debug-Sitzung mit dh laufen. IPDB, um zu sehen, ob das Signal empfangen wird, und wenn der Benutzer erstellt wird, ot Sie einfachen Unit-Test oder doctest schreiben könnten, dass überprüfen.