У меня проблема с видом обновления, но я не могу понять, почему это происходит.Поэтому, когда я пытаюсь обновить объект с помощью UpdateView, я не получаю никакой ошибки, показывая, что он просто не работает, и перезагружает страницу, а измененные данные передаются в URL:
"[11 декабря/ 2018 11:49:20] "GET /home/update/vacation/421?csrfmiddlewaretoken=Op55u8r2GG2uyDjIvW2rstfedeU646ZkrJsmUOC6824rRO5W5NTT4koNwNCIBmof&poste_traid * 100 = * iiчтобы понять, что происходит, но ничего не печатается
У кого-нибудь есть идеи, почему это не работает?
views_class.py
class VacationUpdate(LoginRequiredMixin, UpdateView):
login_url = 'login'
redirect_field_name = 'redirect_to'
form_class = VacationUpdateForm
model = Vacation
template_name = 'chiffrage/forms/vacation_update.html'
pk_url_kwarg = 'vacation_id'
def form_invalid(self, form):
print(form.changed_data)
def form_valid(self, form):
print(form.data)
vacation = form.save(commit=False)
vacation.updated_by = self.request.user
vacation.save()
return super().form_valid(form)
def get_success_url(self):
return HttpResponseRedirect(reverse('marge_prix', args=(
self.object.version_contrat.contrat.site.client.slug(),
self.object.version_contrat.contrat.site.client.pk,
self.object.version_contrat.contrat.site.slug(),
self.object.version_contrat.contrat.site.pk,
self.object.version_contrat.contrat.slug(),
self.object.version_contrat.contrat.id,
self.object.version_contrat.slug(),
self.object.version_contrat.id)))
forms.py
class VacationUpdateForm(forms.ModelForm):
class Meta:
model = Vacation
fields = ['poste_travail', 'taux_marge']
urls.py
path('update/vacation/<int:vacation_id>', views_class.VacationUpdate.as_view(), name='vacation_class_update'),
path('clients/<slug:client_name>,<int:client_id>/<slug:site_name>,<int:site_id>/<slug:contrat_slug>,<int:contrat_id>/<slug:version_slug>,<int:version_id>/prix', views.vacation_add,
name='marge_prix'),
holiday_update.html
{% extends 'base.html' %}
{% block title %} {{ request.user }}{% endblock %}
{% block ligne-titre %}{{ client }}{% endblock %}
{% block sans-div %}
<div class="main container-fluid col-8">
<form class="form-group">
{% csrf_token%}
<table class="table table-sm table-bordered">
{{ form.as_table }}
<tr>
<td colspan="2"><input class="align-self-center btn btn-secondary " type="submit" value="Nouveau"></td>
</tr>
</table>
</form>
</div>
{% endblock %}