Django, отображая представление в другом представлении?

В резюме

  • Использование 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 или клиентские закладки, это могло записать большую проблему.

5
задан Roch 29 November 2009 в 00:27
поделиться

1 ответ

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 %}
4
ответ дан 15 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: