我正在为Django的Braintree整合工作.我遵循了这个指南:
但是,我收到了错误'str' object has no attribute '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 …Run Code Online (Sandbox Code Playgroud) 我之前问过这个问题.可能是由于缺乏理想的答案,我再次以此为契机,在这个空间以一种美好的方式解释我的问题.
请注意:我使用的是MySQL数据库
我有一个名为City的模型.它包含id,name.
id name
1 New York
2 New India
3 New USA
4 New UK
Run Code Online (Sandbox Code Playgroud)
现在使用以下语法
请注意:作为示例,我在下面的语法中输入静态值,即New.最后它应该是动态价值.
City.objects.filter(name__icontains = "新")
显然我得到了纽约,新印度,新美国,新英国
从这一点来说,我很好.
现在转移到我的问题.我想只过滤纽约市的名字.用户可以通过其他方式键入newyork(或)New York(或)NEWYORK(或)NEY yOrk(或),但最后我必须从模型字段值中删除空格并获得所需的结果.
City.objects.filter(name__iregex= "newyork") ?// How to fix this one
CURRENT OUTPUT is:
[]
DESIRED OUTPUT is:
New York
Run Code Online (Sandbox Code Playgroud) 我使用的是django framework 1.6.2,eclipse 3.8.1,python 2.7.5
我已经关注此链接作为我的示例测试程序,不幸的是我遇到问题,但它的工作完美与使用eclipse.请帮忙,你的帮助真的很明显
客户端问题:
代码是
<html>
<head>
</head>
<body>
<h1>Braintree Credit Card Transaction Form</h1>
<div>
<form action="/create_transaction" method="POST" id="braintree-payment-form">
<p>
<label>Card Number</label>
<input type="text" size="20" autocomplete="off" data-encrypted-name="number" />
</p>
<p>
<label>CVV</label>
<input type="text" size="4" autocomplete="off" data-encrypted-name="cvv" />
</p>
<p>
<label>Expiration (MM/YYYY)</label>
<input type="text" size="2" data-encrypted-name="month" /> / <input type="text" size="4" data-encrypted-name="year" />
</p>
<input type="submit" id="submit" />
</form>
</div>
<script src="https://js.braintreegateway.com/v1/braintree.js"></script>
<script>
var braintree = Braintree.create("YourClientSideEncryptionKey");
braintree.onSubmitEncryptForm('braintree-payment-form');
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
臭虫是
Uncaught ReferenceError: Braintree is …Run Code Online (Sandbox Code Playgroud)