Я написал приложение Django, которое использует DataTables . Проблема в том, что когда я удаляю строку из таблицы, она все еще отображается в таблице при работе с nginx / gunicorn. Тем не менее, он работает правильно, когда я работаю на тестовом сервере Django. Поэтому, если я запускаю сервер с этой командной строкой:
python manage.py runserver 192.168.0.1:8000
все отлично работает. То есть я удаляю строку, таблица обновляется, а удаленная строка не отображается.
Это сводка HTTP-вызовов:
// An initial GET command to populate the table
GET /myapp/get_list (returns a list to display)
// I now select a row and delete it which causes this POST to fire
POST /myapp/delete (deletes a row from the list)
// After the POST the code automatically follows up with a GET to refresh the table
GET /myapp/get_list (returns a list to display)
Проблема в том, что когда я использую nginx / gunicorn, второй вызов GET возвращает тот же список, что и первый GET, включая строку, которая, как мне известно, была удалена из внутренней базы данных.
Я не уверен, что это проблема кеширования, потому что это заголовок ответа, который я получаю с первого GET:
Date Fri, 23 Dec 2011 15:04:16 GMT
Last-Modified Fri, 23 Dec 2011 15:04:16 GMT
Server nginx/0.7.65
Vary Cookie
Content-Type application/javascript
Cache-Control max-age=0
Expires Fri, 23 Dec 2011 15:04:16 GMT