尝试使用API​​将Django连接到Payfort付款网关集成当我运行pay.html时,它在视图文件中给了我一个值错误

问题描述

错误是:ValueError:视图hadid.views.initiate_payment没有返回HttpResponse对象。而是返回None。

异常位置:_get_response,第124行中的C:\ Users \ Chaims音乐\ AppData \ Local \ Programs \ Python \ python38 \ lib \ site-packages \ django \ core \ handlers \ base.py

我要在下面添加我的def initial_payment

def initiate_payment(request):
if request.method == "GET":
    return render(request,'templates/pay.html')
 try:
    username = request.POST['username']
    password = request.POST['password']
    amount = int(request.POST['amount'])
    user = authenticate(request,username=username,password=password)
    if user is None:
        raise ValueError
    auth_login(request=request,user=user)
except:
    return render(request,'templates/pay.html',context={'error': 'Wrong Account Details or amount'})

transaction = Transaction.objects.create(made_by=user,amount=amount)
transaction.save()

这只是错误来自的initiate_payment。请帮助我已经尝试过similiar error

如果需要其他文件,请告诉我。

感谢您的帮助。

解决方法

您的视图必须返回响应,您在except块中返回render(...),但在try块中不返回任何内容

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...