Reputation: 85
How to raise an error message if permission_required is failed on Function Based View?i want to raise error message instead redirect to login page, i know how to raise an error message in CBV but i don't know how to raise it in Function based view, Please Help Me. Thanks and here is a code.
@permission_required('request.user.projectuser.change_projectusermodel')
def update(request, id):
test = User.objects.get(id=id)
try:
second_form = UpdateAccountDetailForm(request.POST or None, instance=test.profile)
except:
second_form = UpdateAccountDetailForm(request.POST or None)
try:
third_form = UserRoleForm(request.POST or None, instance=test.roles)
except:
third_form = UserRoleForm(request.POST or None)
if request.method == 'POST':
form = UsersForm(request.POST, instance=test)
form2 = second_form
form3 = third_form
else:
form = UsersForm(instance=test)
form2 = second_form
form3 = third_form
return save_all(request, form, form2, form3,'projectuser/update.html')
Upvotes: 0
Views: 507
Reputation: 5833
The documentation section on permission_required specifies how to do it: you have to call it with the raise_exception
flag enabled: @permission_required(..., raise_exception=True)
Upvotes: 2