Реверс для 'удалить' с ключевыми словами '{' pk ':' '}' не найден - PullRequest
0 голосов
/ 26 марта 2020

Я хочу, чтобы функция удаления объекта запускалась, когда пользователь щелкает по нему, но при этом выдается ошибка:

В обратном порядке для слова «удалить» с аргументами ключевого слова '{' pk ':' '}' не найдено. Попробован 1 шаблон (ов): ['remove \ / \ (\? P (? P [^ /] +) \\ d \ + \) \ / \ $$']

I хотите отобразить список объектов и, как только пользователь нажимает на объект, он удаляется

пациентов. html

<body>

{% include 'pages/nav.html' %}


<div class="container">

    <p>patients
    <a class="btn btn-primary btn-lg" role ="button" href="/patientadd">Add Patients</a> 
</p>
<div class="list-group">
    <br>
    <br>
{% for i in names %}

<a href="{% url 'remove' pk=i.pk %}" class="list-group-item">{{i}}</a>

{% endfor %}
</div>

views.py minified


def removeObj(request, pk):
    object = get_object_or_404(request,pk)
    object.delete()

model.py

from django.db import models
from django.contrib.auth.models import User

class Patient(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE)

    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    age = models.IntegerField()
    numvisit = models.IntegerField()
    detail = models.TextField(max_length=300)

urls. py


urlpatterns = [
    path('admin/', admin.site.urls),
    path('register/',register,name="register"),
    path('patients/',patients,name="patients"),
    path('patientadd/',patientAdd,name="patientadd"),
    path('login/',login,name="login"),
    path(r"remove/(?P<pk>\d+)/$",removeObj,name="remove"),
    path('register/logout/',logout,name="logout"),
    path('',home),
]

Я пробовал поиск, но не могу найти решение.

1 Ответ

0 голосов
/ 26 марта 2020

проблема здесь в вашем urls.py

заменить

path(r"remove/(?P<pk>\d+)/$",removeObj,name="remove"), #this is old version of django

на

path('remove/<int:pk>/',removeObj,name='remove'),

Отредактировано

заменить

object = get_object_or_404(request,pk)

до

object = get_object_or_404(request,pk=pk)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...