Как правило, для удаления объектов лучше использовать POST (или DELETE) HTTP-методы .
Если вы действительно хотите использовать HTTP GET для своего примера, вот что вам нужно исправить:
Если у вас есть URL, указывающий на какой-то URL, такой как ваш: <a href='/news/delete_new/{{object.id}}/'> Delete</a>
, тогда вы можете простоПредставление write, которое проверит, принадлежит ли объект зарегистрированному пользователю, и удалит эту запись, если да, как в коде, который вы уже написали:
def delete_new(request,id):
#+some code to check if New belongs to logged in user
u = New.objects.get(pk=id).delete()
Чтобы проверить, передаются ли новые объекты какому-либо пользователю, вам нужно создать реализациюмежду User
и New
(например, created_by = models.ForeignKey(User)
в модели New
).
Вы можете войти в систему таким образом: request.user
Я надеюсь, что вы поняли ваше мнениеправильно, и мой ответ вам как-то поможет.
PS: Вы также можете рассмотреть возможность использования тега {% url %}
вместо записи URL-адресов непосредственно в ваших шаблонах.