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


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

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


inoks
варианты:
1) одна страница - <div id = ‘edit_view’></div>
при обычной загрузке заполняем edit_view данными для просмотра из шаблона div_view.html.
по нажатию кнопки EDIT через ajax (XMLHttpRequest) заменяем содержимое edit_view на отрендеренный шаблон div_edit.html
2) грузим сразу форму редактирования, прячем ее до нажатия кнопки EDIT
3) делаем разные view и на странице просмотра даем ссылку на редактирование
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB