Python 与Django的条带集成错误
我在django电子商务上跟踪了一个错误,在尝试测试Stripe应用程序时遇到了404错误。具体来说,我在提交测试付款时被重定向到“” in views.pyPython 与Django的条带集成错误,python,django,stripe-payments,stripe.net,Python,Django,Stripe Payments,Stripe.net,我在django电子商务上跟踪了一个错误,在尝试测试Stripe应用程序时遇到了404错误。具体来说,我在提交测试付款时被重定向到“” in views.py def checkout(request): publishKey = settings.STRIPE_PUBLISHABLE_KEY if request.method == 'POST': token = request.POST['stripeToken'] try:
def checkout(request):
publishKey = settings.STRIPE_PUBLISHABLE_KEY
if request.method == 'POST':
token = request.POST['stripeToken']
try:
charge = stripe.Charge.create(
amount=1000,
currency="gbp",
description="Example charge",
source=token,
)
except stripe.error.CardError as e:
pass
context ={'publishKey': publishKey}
template = 'checkout.html'
return render(request,template,context)
在checkout.html中:
{% block strip %}
<script type="text/javascript">
Stripe.setPublishableKey('{{ publishKey }}');
function stripeResponseHandler(status, response) {
// Grab the form:
var $form = $('#payment-form');
if (response.error) { // Problem!
// Show the errors on the form
$form.find('.payment-errors').text(response.error.message);
$form.find('button').prop('disabled', false); // Re-enable submission
} else { // Token was created!
// Get the token ID:
var token = response.id;
// Insert the token into the form so it gets submitted to the server:
$form.append($('<input type="hidden" name="stripeToken" />').val(token));
// Submit the form:
$form.get(0).submit();
}
}
</script>
{% endblock %}
{% block jquery %}
$(function() {
var $form = $('#payment-form');
$form.submit(function(event) {
$form.find('.submit').prop('disabled',true);
Stripe.card.createToken($form,stripeResponseHandler);
return false;
});
});
{% endblock %}
{%block strip%}
Stripe.setPublishableKey({{publishKey}}');
函数stripeResponseHandler(状态、响应){
//抓取表格:
var$form=$(“#付款单”);
if(response.error){//问题!
//在表单上显示错误
$form.find('.payment errors').text(response.error.message);
$form.find('button').prop('disabled',false);//重新启用提交
}否则{//令牌已创建!
//获取令牌ID:
var token=response.id;
//将令牌插入表单,以便将其提交到服务器:
$form.append($('').val(标记));
//提交表格:
$form.get(0.submit();
}
}
{%endblock%}
{%block jquery%}
$(函数(){
var$form=$(“#付款单”);
$form.submit(函数(事件){
$form.find('.submit').prop('disabled',true);
Stripe.card.createToken($form,stripeResponseHandler);
返回false;
});
});
{%endblock%}
在base.html中
{% block script %}
{% endblock %}
<script>
$(document).ready(function(){
{% block jquery %}
{% endblock %}
});
</script>
{%block script%}
{%endblock%}
$(文档).ready(函数(){
{%block jquery%}
{%endblock%}
});
我做错了什么?为什么“提交”按钮会自动将我重定向到a./your charge code/url?我是django和web开发的新手,希望这里的一些专家能指导我。谢谢 您的视图中有一个表单,用于提交通过签出创建的令牌,它可能有一个动作设置为
/您的收费代码,这是您需要更改的部分,以匹配视图的路径。py
。嘿,koopajah,谢谢。这解决了我的问题。我真是个笨蛋。