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 ??

War es hilfreich?

Lösung

Versuch zu importieren ragbackend.py in models.py bevor ein Signal Registrierung - -

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top