У меня возникает ошибка delete_post() missing 1 required positional argument: 'id' when I click on the delete link

Я пытаюсь разработать функцию на django для удаления собственного сообщения пользователя, которое он/она загружает на сайт, но я продолжаю получать следующую ошибку. Может ли кто-нибудь помочь мне, пожалуйста? Я все еще относительно новичок в использовании Djangoвведите описание изображения здесь

urls.py

path('delete-post/int:id/',views.delete_post,name='delete-post'),

views.py

def delete_post(request, id):
user = request.user.username
user = get_object_or_404(User, id=id)
if request.method == 'POST':
    user.delete()
    return redirect('home')
return render(request, 'index.html')

html

 <a href="delete-post/int:id/{{p_filter.id}}" class="flex items-center px-5 py-4 text-blue-500 hover:bg-lime-600 hover:text-red-500 rounded-md ">
                                       <i class="uil-trash-alt mr-1"></i>  delete 

models.py

class DeletePost(models.Model): 
p_id=models.CharField(max_length=500)
username =models.CharField(max_length=100)
def __str__(self):
    return self.username

Я был бы очень признателен за пошаговое объяснение, поскольку моя цель - научиться удалять сообщения с сайта. Спасибо!

Попробуйте, надеюсь, это поможет вам...

urls.py:

path('delete-post<int:id>/',views.delete_post,name='delete-post'),

views.py:

def delete_post(request, id):
    DeletePost.objects.get(pk=id).delete()
        
    return redirect('home')

html:

<a href="{% url 'delete-post' id=p_filter.id %}" class="flex items-center px-5 py-4 text-blue-500 hover:bg-lime-600 hover:text-red-500 rounded-md ">
              <i class="uil-trash-alt mr-1"></i>  delete </a>

Models.py:

class DeletePost(models.Model): 
    p_id=models.CharField(max_length=500)
    username =models.CharField(max_length=100, related_name='UserOrderRelatedName')
    def __str__(self):
        return self.username
Вернуться на верх