Django / JQuery Вопрос относительно формы из нескольких частей - PullRequest
0 голосов
/ 23 мая 2011

Я занимаюсь разработкой веб-сайта, который должен содержать функциональные возможности, в которых пользователь должен вводить несколько частей данных, которые в конечном итоге становятся одним большим документом.Представьте себе, что я разрабатываю систему для генерации резюме, где резюме составляет более 5 страниц.Пользователь входит на сайт и затем должен ввести всю информацию, которую будет содержать его / ее резюме, и в конце процесса есть кнопка «Создать», в которой пользователь получает ссылку на PDF.

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

www.mysite.com/user-name/resume/1

<FORM> enter some info </FORM>

www.mysite.com/user-name/resume/2

<FORM> enter some more info </FORM>

www.mysite.com/user-name/resume/3

введите окончательную информацию

Наконец, вы будете перенаправлены на

www.mysite.com / user-name / mypdf

, который имеет ссылку на PDF (или отображает PDF)

Я храню всю свою информацию в MongoDB, потому что онаКруто, но, учитывая эту систему, у меня есть следующие вопросы о дизайне.

1) Поскольку данные резюме сохраняются в виде 3 разных сообщений формы, мне нужно трижды вызвать вызов save в MongoDB (есть ли другой способ?).Сейчас лучший способ сопоставить все части резюме - вставить UUID в сеанс между публикациями и сохранить этот UUID с каждой частью резюме в базе данных.Таким образом, когда пришло время генерировать, я просто запрашиваю в БД

db.resumes.find ({'docid': uuid '}), и я могу получить все части и составить резюме

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

Я понятия не имею, где делать перенаправления, потому что я использую ajax.Я привык обрабатывать перенаправления в представлениях Django, но я не использую формы или модели Django для этой системы.У меня вопрос, как мне справиться со следующими перенаправлениями:

www.mysite.com / user-name / resume / 1 -> www.mysite.com/user-name/resume/2 -> www.mysite.com/user-name/resume/3 -> www.mysite.com/user-name/mypdf

В настоящее время я проверяю правильность всех данных поста, отправляю их на сервер через ajaxи, если мне удалось успешно сохранить эти данные в MongoDB, я использую это:

$ (location) .attr ('href', 'www.mysite.com/user-name/resume/1/");

Я ЗНАЮ, что это неправильный способ обработки перенаправлений, потому что он просто добавляется к текущему URL (но он работает, так что ...).Насколько я могу судить, мне нужно выполнить перенаправление на стороне клиента, но я не уверен, что лучший способ сделать это -

Спасибо

1 Ответ

1 голос
/ 23 мая 2011

Если вы уже используете jquery, я бы порекомендовал иметь только одну форму со всеми полями и использовать плагин, чтобы разбить ее на несколько подформ.Я использую stepy для этого.Или вы можете реализовать подобную функциональность самостоятельно.

Имея только одну форму, вы можете использовать обычный запрос POST для отправки данных на сервер и получения ответа о перенаправлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...