Я застрял с этой проблемой уже несколько часов, наверное, я безумно ошибся, но не вижу ее. Я пытаюсь использовать UpdateView следующим образом:
class ContributorEditView(UpdateView):
model = Contributor
template_name = "contributor/edit.html"
slug_url_kwarg = 'uid'
slug_field = 'uid'
form_class = ContributorModelForm
success_url = 'word/list'
def get_queryset(self, *args, **kwargs):
qs = super().get_queryset()
print('args : ', args, " / ", kwargs)
print('qs : ', qs)
return qs
с этой моделью:
class ContributorModelForm(ModelForm):
class Meta:
model = Contributor
fields = '__all__'
и этим самым базовым html, чтобы просто проверить:
<form method="post" action="{% url 'contributor-edit' object.uid %}">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Update">
и мой URL-адрес указан ниже:
path('edit/<uuid:uid>', views.ContributorEditView.as_view(), name='contributor-edit'),
Я получаю эту ошибку ниже, и я пытаюсь хотя бы проверить, есть ли мой uid в get_queryset в качестве аргумента так что я могу вручную выполнить набор запросов к базе данных, но у меня ничего нет.
NoReverseMatch по адресу / account / edit / 40acc93b-538 c -44aa-9493-56887b5b430d
Обратное для "contributor-edit" без аргументов не найдено. Попробован 1 шаблон (ов): ['account \ / edit \ / (? P [0-9a-f] {8} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {4} - [0-9a-f] {12}) $ ']
Метод запроса: GET URL запроса: http://localhost: 8000 / account / edit / 40acc93b-538 c -44aa-9493-56887b5b430d
Заранее спасибо