Опираясь на ответ Ломбо, вы можете использовать метод request.is_ajax()
.Это проверяет, что заголовком HTTP_X_REQUESTED_WITH является XmlHttpRequest.
Это хороший способ избежать отправки ответа json на обычный GET - который, я думаю, в худшем случае просто сбивает с толку ваших пользователей, но также позволяет вам использовать тот же виддля запросов ajax и non-ajax.Этот подход облегчает создание приложений, которые изящно ухудшаются .
Например:
def your_view(request):
data_dict = # get some data
if request.is_ajax():
# return json data for ajax request
return HttpResponse(json.dumps(data_dict),mimetype='application/json')
# return a new page otherwise
return render_to_response("your_template.html", data_dict)
Этот подход особенно хорошо работает и для обработки форм.