Django: Internet Explorer загружает контент страницы, а не отображает его

Я создаю сайт с использованием Django Web Framework. Когда я смотрю его в браузерах, таких как Chrome, Safari, Firefox и т. Д., Все работает правильно, но если я открываю в проводнике, это происходит:

В моем 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

Переменная response содержит HTML-структуру страницы, другие браузеры отображают ее, но это не так, почему?

заранее спасибо

1 ответ

Решение

Вы передаете неверные аргументы render(), Из документов он принимает следующие аргументы:

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)
Другие вопросы по тегам