Я набираю код, который должен посылать сигнал каждый раз, когда пользователь входит в систему. Однако этого не происходит. Функция get_create_stripe() не получает вызов, когда пользователь входит в систему. Кто-нибудь может сказать, что случилось? Я работаю в Django 1.8, и весь код here.Django 1.8: Функция не вызывается в сигнале
Gist о коде: Этот код является частью сайта электронной коммерции, который пользователи используют в качестве платежного шлюза. Intent - каждый раз, когда пользователь входит в систему, мы создаем новый идентификатор полосы или возвращаем существующий.
Это потому, что эта функция отсутствует в models.py? Это записывается в файл «signals.py», и я не совсем уверен, как Django должен понимать, чтобы вызвать get_create_stripe() из сигнала вызова в этом файле. Это так?
import stripe
from django.conf import settings
from django.contrib.auth.signals import user_logged_in
from .models import UserStripe
stripe.api_key = settings.STRIPE_SECRET_KEY
def get_create_stripe(sender, user, *args, **kwargs):
new_user_stripe, created = UserStripe.objects.get_or_create(user=user)
print "hello"
if created:
customer = stripe.Customer.create(
email = str(user.email)
)
print customer
new_user_stripe.stripe_id = customer.id
new_user_stripe.save()
user_logged_in(get_create_stripe)
Я сделал последнее, но все еще не работал. Что еще я мог попробовать? – user248884
Как ваш пользователь вошел в систему? –
Я вхожу и выхожу через суперпользователя в admin. У меня только один пользователь, который является администратором. – user248884