Python ';str';对象没有属性';获取';
我在Django做脑树整合。我遵循了: 但是,我得到的错误是,Python ';str';对象没有属性';获取';,python,django,braintree,Python,Django,Braintree,我在Django做脑树整合。我遵循了: 但是,我得到的错误是,“str”对象没有属性“get” Views.py from django.shortcuts import render, render_to_response from django.http.response import HttpResponse import braintree braintree.Configuration.configure(braintree.Environment.Sandbox,
“str”对象没有属性“get”
Views.py
from django.shortcuts import render, render_to_response
from django.http.response import HttpResponse
import braintree
braintree.Configuration.configure(braintree.Environment.Sandbox,
"privatekey here",
"merchant key here",
"public key here")
def form(request):
return render_to_response('braintree.html')
def create_transaction(request):
if request.method == 'POST':
print request.POST.get("number")
result = braintree.Transaction.sale({
"amount": "1000.00",
"credit_card": {
"number": request.POST.get("number"),
"cvv": request.POST.get("cvv"),
"expiration_month": request.POST.get("month"),
"expiration_year": request.POST.get("year")
},
"options": {
"submit_for_settlement": True
}
})
if result.is_success:
return "<h1>Success! Transaction ID: {0}</h1>".format(result.transaction.id)
else:
return "<h1>Error: {0}</h1>".format(result.message)
else:
return HttpResponse('no post')
您直接从POST块内的
create\u transaction
返回字符串。您需要将它们包装在HttpResponse中。异常的完整回溯是什么?在Django错误视图中,点击链接以获得回溯的文本视图。如果下面的答案不能解决您的问题,您可以随时寻求更多帮助。@agf:如果可能的话,您能给我发送比官方文件更好的文档吗website@user2224250在本例中,问题似乎是由Django和Flask之间的差异引起的(我们在指南中使用Flask)——在Flask中,您可以从视图返回字符串;在Django中,需要返回HTTPResponse
对象。如果您有更多问题,我们的支持团队(可以在我的其他评论中的URL上找到)应该能够提供帮助。我不理解您的评论。您的编辑不会显示在HttpResponse中包装这些返回字符串。
Environment:
Request Method: POST
Request URL: http://lcoalhost/create_transaction
Django Version: 1.6.2
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response 201.response = middleware_method(request, response)
File "/usr/local/lib/python2.7/dist-packages/django/middleware/clickjacking.py" in process_response 30. if response.get('X-Frame-Options', None) is not None:
Exception Type: AttributeError at /create_transaction
Exception Value: 'str' object has no attribute 'get'