У меня возникает ошибка 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