Привет, пользователи Stackoverflow,
Меня раздражает обработка формы Django, если форма отправляется на новую страницу и проверка формы не удалась.Я намеревался вернуться к ранее отправленной форме и отобразить сообщение об ошибке для исправления.
Сообщение об ошибке будет отображаться, но URL-ссылка не меняется. Как мне изменить * оператор else оператора is_valid () *, чтобы перенаправить на более раннюю форму?
Спасибо за ваш совет!
urls.py
urlpatterns = patterns("",
url(r"^add/$", "remap.views.add_project", name="add_project_location"),
url(r"^add/details/$", "remap.views.add_project_details", name="add_project_details"),
)
views.py
def add_project_details(request):
if request.method == 'POST': # If the form has been submitted...
locationForm = LocationForm(request.POST)
if locationForm.is_valid(): # All validation rules pass
locality = locationForm.cleaned_data['locality']
state = locationForm.cleaned_data['state']
country = locationForm.cleaned_data['country']
projectForm = ProjectForm(initial = {
'locality': locality,
'state': state,
'country': country,
})
return render_to_response('map/add_project_details.html', {
'projectForm': projectForm,
}, context_instance = RequestContext(request))
else:
print locationForm.errors
return render_to_response('map/add_project_location.html', {
'locationForm': locationForm,
}, context_instance = RequestContext(request))
else:
return HttpResponseRedirect('../') # Redirect to the location reg if site is requested w/o proper location