У меня есть просмотр обновления для обновления информации о профиле пользователя. На этой странице я добавил другую форму для изменения пароля, которая будет работать отдельно. Теперь я сделал, что я проверил, была ли изменена форма с измененным паролем, и предпринял необходимые действия.
Я хочу, чтобы, если пользователь изменил любые данные в форме обновления профиля и отправил форму изменения пароля с ошибками, я должен увидеть ошибки в форме пароля и измененные данные в форме обновления пользователя. Как это можно сделать?
P.S: Я думал, что, возможно, я смогу справиться с этим через запрос AJAX, в котором я могу отправить оба данных формы, сериализуя их. Но я хочу, чтобы он работал без вызова AJAX.Django обрабатывает несколько форм в режиме класса
0
A
ответ
0
«Что я хочу, так это то, что если пользователь изменил какие-либо данные в форме обновления профиля и отправил форму изменения пароля с ошибками, тогда я должен увидеть ошибки в форме пароля и измененные данные в обновлении пользователя . форма "
Одним из способов решения такой проблемы, чтобы отправить обе формы вместе:
<form method="post">
{% csrf_token %}
<h2>Your User Update Form</h2>
{% user_update_form %}
<h2>Your Password Change Form</h2>
{% password_change_form %}
</form>
, а затем на ваш взгляд:
def get(self, request, *args, **kwargs):
# initialize both forms with prefixes
user_update_form = UserUpdateForm(prefix='user_update')
password_change_form = UserPasswordForm(prefix='password_change')
return self._render_form(user_update_form, password_change_form)
def post(self, request, *args, **kwargs):
# read forms from POST
user_update_form = UserUpdateForm(request.POST, prefix='user_update')
password_change_form = UserPasswordForm(request.POST, prefix='password_change')
# validate password form
if password_change_form.is_valid():
# do something
else:
# password form has errors, so return both forms
return self._render_form(user_update_form , password_change_form)
def _render_form(self, user_update_form, password_change_form):
context = {'user_update_form': user_update_form, 'password_change_form': password_change_form}
return TemplateResponse(self.request, '**/your_template.html', context)
Смежные вопросы
- 1. Django: Несколько форм в форме
- 2. несколько форм обрабатывает одно событие сканера
- 3. Django - ChoiceField Spanning Несколько форм
- 4. Rails приложение. Несколько форм в режиме разработки
- 5. Django несколько форм один Отправить
- 6. несколько форм одного класса jquery
- 7. отправить несколько форм синхронно в django
- 8. Django мастера, несколько форм в одном шаге
- 9. Как обрабатывать несколько форм в django
- 10. Несколько форм на одной странице в DJANGO
- 11. Как Django TemplateResponse обрабатывает несколько шаблонов
- 12. Настроить вывод форм в Django
- 13. Sitecore mvc обрабатывает несколько форм на одной странице
- 14. Несколько форм с использованием фильтров django
- 15. Django: При использовании FormView возможны несколько форм?
- 16. Django несколько форм с одной кнопкой отправки
- 17. Django ORM сохраняет сразу несколько форм
- 18. Django несколько форм на одном виде
- 19. Несколько форм, представляющих один вид - Django
- 20. Django несколько включенных форм с внешним ключом
- 21. Как создать и отправить несколько форм django
- 22. Отправка форм в фоновом режиме
- 23. Несколько форм в vb.net
- 24. Включая несколько форм в шаблоне
- 25. Django ModelForm неправильно обрабатывает файлы
- 26. Использование форм в Django
- 27. Расширение форм в django?
- 28. Тестирование форм в Django
- 29. Django-Piston: ManyToManyField обрабатывает?
- 30. Выбор форм для форм в шаблоне-Django
спасибо, но это не очень хороший вариант в долгосрочной перспективе. Предположим, если я использую третью форму где-то еще в шаблоне, где ее нельзя комбинировать, то что? –