Я нахожу код, который должен посылать сигнал каждый раз, когда пользователь входит в систему. Однако этого не происходит. Функция get_create_stripe() не вызывается, когда пользователь входит в систему. Кто-нибудь может сказать, что не так? Я работаю в Django 1.8, и весь код здесь а>.
Суть кода: этот код является частью сайта электронной коммерции, который пользователи используют как платежный шлюз. Цель состоит в том, чтобы каждый раз, когда пользователь входит в систему, мы создавали новый идентификатор полосы или возвращали существующий.
Это потому, что этой функции нет в 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)