В резюме
GET
для safe and
idempotent
запросы POST
для neither safe nor idempotent
запросы В деталях существует надлежащее место для каждого. Даже если Вы не следуете УСПОКОИТЕЛЬНЫЙ принципы, много может быть получено от приобретения знаний о REST и как ресурс ориентировал работы подхода.
А УСПОКОИТЕЛЬНОЕ приложение будет
use GETs
для операций, которые являются обаsafe and idempotent
.
А safe
операция является операцией, которая делает not change the data
требуемый.
idempotent
операция - та, в которой результат будет be the same
, неважно, сколько раз Вы запрашиваете его.
Это выдерживает обосновать, что, как ДОБИРАЕТСЯ, используются для [1 121] безопасный операции, которые они автоматически также идемпотент . Обычно ПОЛУЧАТЬ используется для получения ресурса (вопрос и его связанные ответы на переполнении стека, например) или набор ресурсов.
А УСПОКОИТЕЛЬНОЕ приложение будет использовать
PUTs
для операций, которые являютсяnot safe but idempotent
.
я знаю, что вопрос был о, ДОБИРАЮТСЯ и POST, но я возвращусь к POST через секунду.
Обычно ПОМЕЩЕННЫЙ используется для редактирования ресурса (редактирующий вопрос или ответ на переполнении стека, например).
А
POST
использовался бы для любой операции, которая являетсяneither safe or idempotent
.
Обычно POST использовался бы для создания нового ресурса, например, создающего НОВОЕ ТАК вопрос (хотя в некоторых проектах ПОМЕЩЕННЫЙ будет использоваться для этого также).
при выполнении POST дважды Вы закончили бы тем, что создали ДВА новых вопроса.
существует также УДАЛИТЬ операция, но я предполагаю, что могу оставить это там:)
Обсуждение
На практике, который обычно только поддерживают современные веб-браузеры, ДОБИРАЕТСЯ и POST надежно (можно выполнить все эти операции через вызовы JavaScript, но с точки зрения ввода данных в формах и нажатии утверждают, что Вы обычно получали эти две опции). В УСПОКОИТЕЛЬНОМ приложении POST будет часто переопределяться, чтобы обеспечить ПОМЕЩЕННЫЙ и УДАЛИТЬ вызовы также.
, Но, даже если Вы не следуете за УСПОКОИТЕЛЬНЫМИ принципами, может быть полезно думать с точки зрения использования, ДОБИРАЮТСЯ для получения / просмотр информации и POST для создания / редактирование информации.
Вы никогда не должны использовать, ДОБИРАЮТСЯ для операции, которая изменяет данные. Если поисковая система проверяет ссылку на Ваше зло op или клиентские закладки, это могло записать большую проблему.
HTTP-ответ содержит заголовки вместе с html или чем-то еще, поэтому вы не можете просто складывать их как строки.
если вы хотите модулировать свою функцию просмотра, то используйте под- процедура вызывает возвращаемые строки, а затем вы можете сделать это так, как вы предлагаете
Вероятно, в вашем случае было бы лучше поместить цикл, показывающий строки, в шаблон, тогда вам не понадобятся под-представление и цикл в вашем main view.
def listEventsSummary(request):
listEventsSummary = Event.objects.all().order_by('-id')[:20]
return render_to_response('stuff.html',{'events':listEventsSummary})
и в stuff.html
{% for event in events %}
<p>{{event.date}} and whatever else...</p>
{% endfor %}