Мой шаблон жалуется на отсутствие контекстной переменной request.META.REQUEST_METHOD. Каковы возможные причины? - PullRequest
0 голосов
/ 16 марта 2012

Представленный шаблон содержит следующее:

invalid context variable: 'request.META.REQUEST_METHOD'

Я напечатал наш locals() внутри вида, и я ясно вижу

META:{
    'REQUEST_METHOD': 'GET',
    ...
}

Есть идеи, что может вызвать это?

Ответы [ 2 ]

0 голосов
/ 17 марта 2012

Чтобы ваш шаблон получил объект request, вам нужно будет отобразить шаблон с RequestContext.

Если вы используете django.shortcuts.render_to_response что-то вроде следующего:

return render_to_response(template_name, dictionary)

тогда вы должны заметить, что из связанных документов:

По умолчанию шаблон будет отображаться с экземпляром Context

и вместо этого вы захотите использовать следующую конструкцию:

return render_to_response(template_name, dictionary, context_instance=RequestContext(request))

Тем не менее, лучше использовать django.shortcuts.render (введено в Django 1.3), который по умолчанию использует RequestContext, поэтому вы можете просто:

return render(request, template_name, dictionary)
0 голосов
/ 17 марта 2012

Возможно, вы используете render_to_response () без передачи аргумента context_instance .

Используйте render () , и ваша проблема должна исчезнуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...