HttpResponseRedirect不更改网页

时间:2013-07-03 13:56:36

标签: python django httpresponse

我有一个网页,可以创建数据并将数据保存到数据库中。要保存数据,用户必须点击保存按钮,我想从创建/保存网页重定向到刚刚说“成功!”的成功网页。

views.py

@csrf_exempt
def save(request):
    if request.method == 'POST':
        rawdata1 = request.body
        rawdata2 = json.loads(rawdata1)
        length = len(rawdata2)
        for i in range(0,length,1):
            x = meterdata(time_elapsed=rawdata2[i]['time_elapsed'], volts=rawdata2[i]['volts'], amps=rawdata2[i]['amps'], kW=rawdata2[i]['kW'], kWh=rawdata2[i]['kWh'], session=rawdata2[i]['session'])
            x.save()        
        return HttpResponseRedirect(reverse('meter:success'))

def success(request):
    return render(request, 'success.html')

在开发人员工具中我可以看到数据库的帖子(我还检查过它是保存数据),我可以看到在响应中返回的success.html但是实际的Web浏览器没有导航到网页/会话模拟器/成功。

1 个答案:

答案 0 :(得分:1)

如果您使用javascript库来发布帖子,HttpResponseRedirect将无效。

或者,您可以将成功消息(或URL)作为响应发回,然后在成功处理程序(io.success)中发送alert成功消息,或重定向 到所需的页面。