Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不返回用于查看的html页面-django_Python_Django_Django Models_Django Views_Django Templates - Fatal编程技术网

Python 不返回用于查看的html页面-django

Python 不返回用于查看的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

错误消息-->视图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 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)