【发布时间】:2025-11-23 11:00:02
【问题描述】:
嗨,我有一个工作视图。我想知道这是最好的还是好的方法。我想要一个删除照片对象的删除视图,但前提是登录的用户是与该对象关联的。
这是我的意见.py
class PhotoDelete(DeleteView):
model = Photo
template_name = 'otologue/photo_delete.html'
success_url = reverse_lazy('otologue:photos')
def get(self, request, *args, **kwargs):
object_instance = self.get_object() # Get the object
object_user = object_instance.photoextended.user # Get the user who owns the object
user = get_object_or_404(User, username=self.request.user) # Get the user in the view
if object_user != user: # See if the object_user is the same as the user
return HttpResponseForbidden('Permission Error')
else:
return render(request, self.template_name, {'object': object_instance})
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super().dispatch(*args, **kwargs)
如果您需要更多信息,例如型号等,请索取。
【问题讨论】:
标签: django django-models django-views django-class-based-views