Что-то странное происходит. Имеется две вьюхи для форм. Они прексрано рендерятся и даже проходят валидацию, при этом если вписать данные в любое из полей и кликнуть на Updatе - то согласно проверке на валидацию происходит редирект, однако записи нового значения не происходит.
@login_required
def vacancy_update(request, vacancy_id=1):
obj = get_object_or_404(Vacancy, pk=vacancy_id)
form = VacancyForm(request.POST, instance=obj)
if request.method == 'POST':
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/profile/vacancy/all/')
else:
user = request.user
obj = Vacancy.objects.get(id=vacancy_id)
form = VacancyForm(instance=obj)
args = {}
args.update(csrf(request))
args['form'] = form
return render_to_response('vacancy_update.html', args)
@login_required
def resume_update(request, resume_id=1):
obj = get_object_or_404(Resume, pk=resume_id)
form = ResumeForm(request.POST, instance=obj)
if request.method == 'POST':
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/profile/resume/')
else:
user = request.user
obj = Resume.objects.get(user=request.user)
form = ResumeForm(instance=obj)
args = {}
args.update(csrf(request))
args['form'] = form
return render(request,'resume_update.html', args)
Пример шаблона
vacancy_update.html
{% extends "sidebar.html" %}
{% load crispy_forms_tags %}
{% block sidebar_content %}
<form action='/accounts/profile/vacancy/all/' method="post">
{% csrf_token %}
{{form|crispy}}
<button id="vacancy_button" class="btn btn-lg btn-primary btn-block" type="submit">Update</button>
</form>
{% endblock %}
С чем это может быть связано и как это исправить?