2012-02-13 2 views
4

Django возвращает шаблон ошибки HTML по умолчанию, когда необработанное исключение происходит в представлении. Я хотел бы вернуть ответ JSON вместо этого, если в запросе был заголовок «Accept: 'application/json» (но в противном случае возвращался обычный HTML). Как я могу это сделать?Django: условный ответ 500 в зависимости от заголовка Accept?

ответ

2

Изменение обработчика handler500 в urls.py:

handler500 = 'application_name.views.error_500' 

Определить вид функции:

def error_500(request): 
    # check request header 
    return HttpResponse(json.dumps(retval), mimetype='application/json') 
Смежные вопросы