@blackbb

Как правильно дать права доступа к редактированию объекта в Django?

Суть проблемы в следующем. Есть модель профиля, есть страница редактирования профиля, как сделать так, чтобы профиль мог редактировать только хозяин профиля, а не любой зарегиный пользователь. Сейчас перейдя в /profile/edit/1/ я могу отредактировать свой профиль, так же если перейти на /profile/edit/2/ могу отредактировать профиль другого пользователя. На данный момент борюсь с этим так : "{%if profile.username == user.username%}", то отображается кнопка редактирования. Понимаю, что это делается на уровне views, но не могу понять как.
  • Вопрос задан
  • 338 просмотров
Решения вопроса 1
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
На данный момент борюсь с этим так : "{%if profile.username == user.username%}",

Это нужно делать во view. Я, например, делаю так:
@transaction.atomic                                                              
@login_required                                                                  
def editEvent(request, pk):                                                      
    event = get_object_or_404(Event, pk=pk)                                      
    if request.user != event.owner:                                              
        raise Http404()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы