Python 不返回用于查看的html页面-django
错误消息-->视图orders.views.charge未返回HttpResponse对象。它没有返回任何结果。我的charge.html不起作用的原因是什么 视图,pyPython 不返回用于查看的html页面-django,python,django,django-models,django-views,django-templates,Python,Django,Django Models,Django Views,Django Templates,错误消息-->视图orders.views.charge未返回HttpResponse对象。它没有返回任何结果。我的charge.html不起作用的原因是什么 视图,py import time import stripe from django.conf import settings from django.shortcuts import render from django.urls import reverse def charge(request): if reques
import time
import stripe
from django.conf import settings
from django.shortcuts import render
from django.urls import reverse
def charge(request):
if request.method == 'POST':
charge = stripe.Charge.create(
amount=500,
currency='eur',
description='A Django charge',
source=request.POST['stripeToken']
)
template = "orders/charge.html"
return render(request, template)
charge.html
{% extends "fuisce/base.html" %}
{% block content %}
<div class="container mt-5 text-center">
<h2 class="text-center">Thanks, you for your Orders</h2>
<a href="/my-orders" class="btn btn-success">My Orders</a>
</div>
{% endblock %}
如果希望返回的代码在
GET
请求时返回,请将视图中返回的代码置于if条件之外
def charge(request):
if request.method == 'POST':
charge = stripe.Charge.create(
amount=500,
currency='eur',
description='A Django charge',
source=request.POST['stripeToken']
)
template = "orders/charge.html"
return render(request, template)
如果你向你的
费用视图发出GET请求,这种情况确实会发生。@WillemVanOnsem抱歉我没有听你的话?如果请求怎么办?方法不是'POST'
,而是'GET'
,那么如果将不会被触发,因此函数将确实返回无
。
def charge(request):
if request.method == 'POST':
charge = stripe.Charge.create(
amount=500,
currency='eur',
description='A Django charge',
source=request.POST['stripeToken']
)
template = "orders/charge.html"
return render(request, template)