Примеры кода Django, включающие данные сообщения часто, показывают код, подобный этому:
if request.method == "POST":
post = request.POST.copy()
#do stuff with post data
Существует ли причина копирования данных сообщения вместо того, чтобы работать с ним непосредственно?
Я думаю, это потому, что request.POST
сам по себе определен как неизменный. Если вам нужна версия, которую вы действительно можете изменить (изменяемость), вам нужна копия данных для работы.
См. ссылку (request.POST - это экземпляр QueryDict).
Экземпляры класса QueryDict
QueryDict
являются неизменяемыми, если вы не создаете из нихcopy ()
. Это означает, что вы не можете напрямую изменять атрибутыrequest.POST
иrequest.GET
.