Реверс для 'Patient_update' с аргументами ключевых слов '{' pk ':' '}' не найден.Приведено 1 рисунков: ['пациентов / обновление / (? P <pk>[0-9] +) $']? - PullRequest
0 голосов
/ 07 июля 2019

Я сделал вид, где пользователи могут редактировать информацию о пациентах, и, поскольку я использую пользовательскую модель пользователя, мне пришлось сделать пользовательский вид обновления / удаления. Представления работают, когда я вводю их вручную по URL, но когда я поставить ссылку на них с помощью тега привязки я получаю сообщение об ошибке, что он не может получить доступ к ПК, я попытался после многих ответов здесь и видео на YT, но ошибка все еще там

Views.py

def PatientUpdateView(request,pk=None):

    patient = get_object_or_404(models.Patient, pk=pk)
    form = forms.PatientForm(request.POST or None ,instance=patient)
    if form.is_valid() :
        patient = form.save(commit=False)
        patient.save()
        messages.success(request,"patient updated!")
        context = {
            'patient': patient,
            'form': form
        }
        return render(request,'patients/patient_edit_form_success.html',context)
    else:
        context = {
            'patient' : patient,
            'form': form,
                   }
        return render(request, 'patients/patient_edit_form.html', context)

и вот как я это называю в теге привязки

 <a class="btn btn-info btn-sm" href="{% url 'patients:patient_update' patient.pk %}">Open</a>

Я пытался

pk = patient.pk
pk = pk 

и многие другие способы его вызова.

urls.py вот шаблон URL, который я использую

    path('update/<int:pk>', views.PatientUpdateView, name='patient_update'),

1 Ответ

0 голосов
/ 07 июля 2019

Попробуйте изменить тег <a> на следующее:

<a class="btn btn-info btn-sm" href="{% url 'patient_update' patient.pk %}">Open</a>

При указании имени URL-адреса не требуется интервал между именами. Кроме того, не забудьте {% load static %} в вашем файле шаблона.

...