我正在使用Django Web Framework创建一个网站。 当我使用chrome,safari,firefox等浏览器查看它时,它可以正常工作,但如果我在Internet Explorer中打开页面,则会发生这种情况:
在我的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没有,为什么?
提前致谢
答案 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)