Django View для возврата шаблона с обновленным модальным окном
Я использую Django форму в модальном окне, где основное содержимое (в контейнере) генерируется JS. При отправке экземпляра модели django, сохраненного без каких-либо проблем if form.is_valid() == True
модальное окно закрывается с переключением фокуса на текущую фоновую страницу.
Однако if form.is_valid() == False
содержимое модального окна открывается в отдельном URL-адресе и занимает весь экран браузера, поскольку View отображает только короткий фрагмент кода в .html-файле.
Цель - обновить модальное окно по текущему состоянию в случае if form_is_valid() == False
с ошибками формы.
Шаблон "accounts/profile_settings.html"
содержит форму и кнопку отправки, которая отображается внутри
<div class="preferences_content">
{% comment %} JS generated dynamic content depends on tab pressed. {% endcomment %}
</div>
Мои знания JS очень базовые, поэтому я буду благодарен за любое предложение по этой теме.
Вид :
def profile_update_view(request):
""" Updates current Profile instance."""
if request.method == "POST":
current_profile = request.user.profile
profile_form = ProfileUpdateForm(request.POST, request.FILES, instance=current_profile)
if profile_form.is_valid():
profile_form.save()
return HttpResponseRedirect(request.META.get('HTTP_REFERER', "/"))
else:
profile_form = ProfileUpdateForm()
return render(request, "accounts/profile_settings.html", {'profile_form': profile_form})
else:
profile_form = ProfileUpdateForm()
return render(request, "accounts/profile_settings.html", {'profile_form': profile_form})