Найти - Пользователи
Полная версия: Обработка ошибки пустой формы комментария. Заодно и редирект.
Начало » Django » Обработка ошибки пустой формы комментария. Заодно и редирект.
1
dnstuff
Здравствуйте!
Использую встроенные джанговские комментарии:
template:
<h2>Add comment</h2> {%  get_comment_form for post as form %} 
<form  action="{% comment_form_target %}" method="post" > {% csrf_token %}   
{{form.content_type}}{{form.object_pk}}{{form.timestamp}}{{form.security_hash}}
Comment:<br />
{{form.comment}}
<input type="hidden" name="next" value="{{ request.get_full_path }}#comment" /> 
<button class="btn btn-large btn-primary" type="submit">Post</button>
</form>
urls:
(r'^comments/', include('django.contrib.comments.urls')),
При отправке пустой формы происходит переход на страницу /comments/post/. Но хотелось бы, чтобы страница оставалась текущей и выводилось сообщение об ошибке.
Первый вопрос, как это можно сделать?
Я пока решил сделать редирект с /comments/post/ обратно.
Начал было писать вьюху:
def comment_error(request):
	return HttpResponseRedirect("???Обратно???")
И тут второй вопрос, “обратно” это куда?
Спасибо!
FishHook
Какого рода сообщение об ошибке? То есть, юзер должен увидеть 404 или что и где?
Что значит “пустой формы”? пользователь не заполнил обязательные поля формы? Это тривиально.
Хотите отловить на клиенте отправку незаполенной формы? Это проблема JS, никак не Джанги.

Конкретизируйте, “ну непонятно же!” (с)
dnstuff
Пустая форма - незаполненная. С заполненной формой проблем нет.
404 не надо. Надо обновить страницу с формой, добавив в шаблон сообщение об ошибке.
FishHook
И в чем проблема?
В форме есть обязательные поля?
Если да, то проблема решена, если условие таково, что нужно хоть что-нибудь заполнить, то переопределяйте clean у формы, проверяйте там, что cleaned_data пустая, и если оно так, возвращайте форму с ошибкой.
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