繁体   English   中英

Django 和 Stripe,模块 'stripe' 没有 'Customer' 成员

[英]Django and Stripe, Module 'stripe' has no 'Customer' member

所以我正在尝试使用django在stripe中创建一个客户,根据stripe中的文档,代码stripe.Customer.create应该可以工作,但它只是出现了这个错误,有人能告诉我为什么会这样吗?

视图.py

from django.shortcuts import render, redirect
from django.urls import reverse
from django.http import JsonResponse

import stripe
# Create your views here.
stripe.api_key = "xxxx"

def index(request):
    return render(request, 'sales/index.html')

def charge(request):
    amount = 5
    if request.method == 'POST':
        print('Data', request.POST)

        stripe.Customer.create(
            email=request.POST['email']
        )

    return redirect(reverse('success', args=[amount]))

def successMsg(request, args):
    amount = args
    return render(request, 'sales/success.html', {'amount':amount})


追溯

Traceback (most recent call last):
  File "C:\Users\snin2\anaconda3\envs\MyDjangoEnv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "C:\Users\snin2\anaconda3\envs\MyDjangoEnv\lib\site-packages\django\core\handlers\base.py", line 179, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\snin2\Desktop\django braintree\stripe\sales\views.py", line 17, in charge
    stripe.Customer.create(
AttributeError: module 'stripe' has no attribute 'Customer'
[18/Sep/2020 08:36:39] "POST /charge/ HTTP/1.1" 500 66773


此错误的唯一原因是您的项目目录中可能有一个stripe.py文件或一个模块。

而且,是的,您在django braintree目录下有一个名为stripe

\django braintree\stripe\sales\views.py

我们如何验证?

您可以通过检查模块.__file__属性来检查模块位置

import stripe
print(stripe.__file__)
            ^^^^^^^^^^^

参考

  1. Python 条纹:“模块”对象没有属性“电荷”——(StackOverlofw)
  2. AttributeError: 'module' 对象没有属性 'Charge' -- (GitHub)

您已将项目/应用程序命名为条带,这与您安装的条带包发生冲突

将您的项目/应用名称更改为其他名称,然后重试

注意:避免使用包名作为应用名或项目名,这会在引用过程中产生问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM