Django:Internet Explorer下载页面内容而不是呈现它

时间:2017-11-02 07:23:15

标签: python html django internet-explorer

我正在使用Django Web Framework创建一个网站。 当我使用chrome,safari,firefox等浏览器查看它时,它可以正常工作,但如果我在Internet Explorer中打开页面,则会发生这种情况:

enter image description here

在我的views.py中,我有这段代码:

def index(request):

    context = RequestContext(request)

    c_form = False
    try:
        c_form = request.COOKIES['cform']
    except Exception:
    if request.POST: c_form = foo_email(request)

    context_list = {'form': c_form}
    response = render(request, 'base_home.html', context_list, context)
    if c_form: response.set_cookie('cform', value='1', max_age=None)
    return response

响应变量包含页面的HTML结构,其他浏览器呈现它,但IE没有,为什么?

提前致谢

1 个答案:

答案 0 :(得分:2)

您将无效参数传递给render()。从docs开始,它采用以下参数:

render(request, template_name, context=None, content_type=None, status=None, using=None)

您正在将context传递给content_type参数,该参数在某种程度上不会完全中断,但会在不包含text/html内容类型的响应中结束。因此IE尝试下载它。

删除最后一个参数:

response = render(request, 'base_home.html', context_list)