Django: обработка кнопки BACK браузера при загрузке файлов - PullRequest
0 голосов
/ 22 мая 2011

Я делаю сайт с трехэтапной формой.

Шаг 1: сообщите мне, сколько файлов вы загружаете

Шаг 2: сгенерируйте количество форм в зависимости от количества файлов и разрешите загрузку

Шаг 3: payment

Предположим, какой-то парень перешел к шагу 3, но затем передумал и вернулся к шагу 1.

Шаг 1 достаточно прост, все, что мне нужно сделать, это поставитьпеременная в сеансе, а затем просто обновите существующую запись, если происходит активный порядок (вместо создания нового).

Шаг 2 становится сложным.Скажем, парень вернулся и изменил количество файлов на шаге 1, изменив количество форм, отображаемых на шаге 2. Также скажите, что он решает изменить несколько загруженных файлов.

Единственное, о чем я могу подумать, это полностью удалить все файлы, которые парень впервые загрузил на своем сайте через сайт, удалить все записи базы данных, связанные с этими файлами, и просто начать с самого начала.Если я этого не сделаю, я столкнусь с некоторыми странными проблемами при сравнении новых файлов, которые он загрузил, с моими старыми файлами, чтобы увидеть, изменились ли они ... это просто кажется хлопотным и требует больше времени, чем простое удалениеих.

В том же духе, если пользователь снова нажал «Обзор», чтобы загрузить новый файл, могу ли я узнать, что они изменили это поле?Если имя файла точно такое же, вам нужно сравнить новое со старым.

Но если я просто удалю все, это создаст проблемы для пользователя.Если он изначально загрузил 10 файлов, но теперь решает, что он хочет загрузить 12 файлов, за исключением того, что он хочет сохранить 8 из исходных 10 файлов и всю связанную информацию одинаковыми, то загрузить 4 новых файла - он в конечном итоге должен сделатьвсе 12 файлов с нуля снова.

Полагаю, я мог бы предварительно заполнить Шаг 2 тем, что у меня есть в базе данных, но потом я все же столкнулся с необходимостью сравнивать новые файлы с теми, которые у меня есть сейчас.

Есть ли лучший способ сделать это?Никогда не понимал, насколько сильна боль кнопка НАЗАД ....

1 Ответ

0 голосов
/ 23 мая 2011

Почему вы хотите разрешить пользователю переходить от шага 3 к шагу 2?

В любом случае, вы не должны сравнивать файлы! Просто напишите новые. И файлы, которые не привязаны к пользователю - могут быть удалены в фоновом режиме.

...