从另一个视图重定向时,Django渲染不起作用

时间:2017-04-14 22:56:35

标签: python django redirect model-view-controller django-views

我有两个观点如下

def home(request):
    levels = levelData.objects.all()
    context ={
            "levels" : levels
    }
    print "abcde"
    return render(request, 'home.html', context)

和另一个

def create(request):
    if request.method == "POST":
        # doing something with data with saveData as variable of model type
        saveData.save()
        return redirect('home')
    return render(request, 'create.html')

现在,在创建视图中,我希望在保存数据后重定向到主视图。重定向工作正常,当主页视图中的打印语句被执行时,它被重定向到主页并且" abcde"在终端打印。但是,home.html没有呈现,它仍然在create.html上。此外,网址也不会改变。

这是我的urls.py

中的主页视图
url(r'^$', home, name='home'),

我做错了什么?

1 个答案:

答案 0 :(得分:5)

如果您通过AJAX发帖,则无法执行此操作。您必须这样做

window.location.href = '/redirecturl/'

在AJAX success回调中。