Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 20, 2013 14:03:37

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Обработка в шаблоне по кнопке

Всем привет. Сразу прошу прощения если дублирую или задаю гулый вопрос. Но что-то никак не могу осмыслить один момент…
Итак, нас есть профиль пользователя, поля которого мы выводим через форму.
Есть шаблон profile.html который эти поля выводит в обычном виде (строка - не редактируемое поле).
Необходимо сделать кнопку “редактировать” по нажатию которой мы получаем все поля но уже в виде
формы редактирования. По логике все решается путем создания двух шаблонов с разными методами вывода информации, и по нажатию кнопки просто перенаправлять на другой адресс\шаблон. Тут все понятно.
Но хотелось бы сделать иначе:
Сделать все одним шаблоном, а на кнопку “редактировать” повесить какое-то значение. То есть при нажатии кнопки мы перезагружаем шаблон и передаем это значение, а в самом шаблоне уже обычная проверка -
если значение равно условию, отображаем первый вариант формы, если нет - второй.
Вопрос !
Как это можно реализовать? Какой параметр и какого типа и как и куда передавать ? Ведь сам шаблон значения не принимает. Может быть использовать какой-то джаваскрипт для этого?
Через jscript hide делать не хочу. ..
Если есть варианты как сделать то что я задумал буду благодарен если кто подскажет


з.ы. (была конечно идея сделать в модели поле edit_status и по нажатию кнопки менять его но по моему ето совсем уже идиотизм)



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Отредактировано ZerG (Янв. 20, 2013 14:07:14)

Офлайн

#2 Янв. 20, 2013 17:34:18

SorrowFuck
От: Хабаровск
Зарегистрирован: 2012-10-10
Сообщения: 64
Репутация: +  2  -
Профиль   Отправить e-mail  

Обработка в шаблоне по кнопке

Ну, у меня опыта по нулям. Я делал шаблонными тэгами.
Пишется модель, представление, форма и один шаблон - profile, в него передается список необходимых переменных среди которых есть Edit и условие поставлено так:
{% if dict.Edit %}
грузим форму с авто заполнением
{% else %}
значит профиль кто-то просматривает, просто выводим данные
{% endif %}.
В url это выглядело так some.net/profile/name/edit/, а кнопка была ссылкой на url.
Возможно есть и более правильное решение.



_________
Новичок

Отредактировано SorrowFuck (Янв. 20, 2013 17:40:22)

Офлайн

#3 Янв. 21, 2013 19:51:41

DOOMer
От: Russia.MO.Balashikha
Зарегистрирован: 2013-01-09
Сообщения: 37
Репутация: +  9  -
Профиль   Отправить e-mail  

Обработка в шаблоне по кнопке

Используйте для отображения профиля DetailView, а для редактирования - UpdateView,. В шаблоне для отображения просто сделайте ссылку на URL с вьюхой редактирования.


Офлайн

#4 Янв. 22, 2013 14:56:36

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Обработка в шаблоне по кнопке

варианты:
1) одна страница - <div id = ‘edit_view’></div>
при обычной загрузке заполняем edit_view данными для просмотра из шаблона div_view.html.
по нажатию кнопки EDIT через ajax (XMLHttpRequest) заменяем содержимое edit_view на отрендеренный шаблон div_edit.html
2) грузим сразу форму редактирования, прячем ее до нажатия кнопки EDIT
3) делаем разные view и на странице просмотра даем ссылку на редактирование

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version