【发布时间】:2015-07-01 04:55:01
【问题描述】:
我正在使用一个代码,该代码应该在每次用户登录时发送一个信号。但这并没有发生。用户登录时不会调用函数 get_create_stripe()。 任何人都可以告诉什么是错的? 我在 Django 1.8 中工作,整个代码是 here。
代码要点:此代码是电子商务网站的一部分,用户将其作为支付网关。 Intent 是,每次用户登录时,我们都会创建一个新的条带 ID 或返回一个现有的条带 ID。
是不是因为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)
【问题讨论】:
标签: python django stripe-payments django-signals