Как вызвать ошибку на @permission_required декораторе в представлении на основе функций - PullRequest
0 голосов
/ 22 апреля 2019

Как вызвать сообщение об ошибке, если в параметре «Просмотр на основе функций» не удалось получить разрешение в режиме на основе функций, пожалуйста, помогите мне. Спасибо, и вот код.

@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')

1 Ответ

2 голосов
/ 22 апреля 2019

В разделе документации поree_required указано, как это сделать: вы должны вызывать его с включенным флагом raise_exception: @permission_required(..., raise_exception=True)

...