Можно ли с помощью Django предотвратить/запретить доступ к странице более чем одному человеку?

Можно ли с помощью Django предотвратить/запретить доступ к странице более чем одному человеку? Например: У меня есть экран редактирования для продукта, и если кто-то получает доступ к этой странице, для этого продукта, я не хочу, чтобы кто-то, кроме меня, мог войти в этот url, чтобы быть более ясным, допустим, я редактирую продукт под названием "smartphone " и его маршрут http://localhost:8000/product/edit/smartphone, когда кто-то пытается редактировать этот продукт, он не может войти на страницу. Вот в чем мой вопрос. Я не знаю, было ли это очень ясно, но я прошу, чтобы тот, кто знает, мог помочь мне.

Я не уверен, что вы хотите, Но то, что я понимаю,

Вы хотите, чтобы один человек занимался редактированием смартфона, а другие не занимались, а только просматривали смартфон.

Попробуйте сделать этого человека суперпользователем.

def edit_smartphone(request):
    if request.user.is_superuser:
        .....
    else:
        return HttpResponse('You do not have authority to edit this, try contacting Owner.')

Я не совсем понимаю ваш вопрос

Использование воображаемой модели SmartPhone В models.py

class SmartPhone(models.Model):
    # your model properties

В views.py

def edit_smartPhone(request, pk):
    if request.user.is_superuser:
        smartphone = SmartPhone.objects.get(id=pk)
        form = SmartPhoneForm(instance=smartphone)
        if request.method == 'POST':
            form = SmartPhoneForm(request.POST, instance=smartphone)
            if form.is_valid():
                form.save()
            return redirect("/")
     else:
         return redirect('/')
     return render(request, 'your-template-name.html', context={'form':form})

В вашем urls.py

urlpatterns = [
    path('/product/edit/smartphone/<str:pk>/', views.update_smartPhone)
]

Я не уверен, что это ответ на ваш вопрос.

Вернуться на верх