0
我正在選擇一個代碼,每次用戶登錄時都應該發送一個信號。雖然這不會發生。當用戶登錄時,函數get_create_stripe()不會被調用。 任何人都可以知道什麼是錯的? 我正在Django 1.8中工作,整個代碼是here。Django 1.8:函數不會調用信號
要點代碼:此代碼是電子商務網站的一部分,用戶作爲其支付網關分條。意圖是,每次用戶登錄時,我們都會創建一個新的條帶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)
我做了後者,但它仍然沒有工作。我還能嘗試什麼? – user248884
用戶如何登錄? –
我通過admin中的超級用戶登錄和註銷。我只有一個用戶,這是管理員。 – user248884