2012-10-16 3 views
0

나는 현재의 '책'모델을 (양식을 통해) 추가하거나 편집하기위한 전형적인 장고보기 설정을 가지고 있습니다. 이것은 자연의 것입니다 :permission_required_or_403 데코레이터?

이제는 책을 만든 사용자에게 편집을 제한하기 위해 데코레이터를 달았 으면합니다. 장고 - 보호자를 사용하여 나는 위의 코드를 포장하기 위해 다음과 같은 장식이 있습니다

@permission_required_or_403('myapp.edit_book', (Book, 'id', 'bookid')) 

이 사용자가 창조자가 아닌 경우 403가 발생합니다 즉 이미 만들어진 편집 책의 시나리오에 괜찮 작동합니다. 그러나 새 책을 추가 할 때 bookid는 비어 있으며 데코레이터 코드가 충돌합니다. 이 시나리오를 처리하고 편집 및 추가 기능을 분리하지 않고도 좋은 방법이 있습니까?

감사합니다, 게리

+0

죄송하지만 그건 불가능합니다. 장고 보호자는 그 요청을 위해 빌드되지 않습니다. 어쨌든 모든 CRUD보기 (만들기, 읽기, 업데이트, 삭제)를 자체적으로 만드는 것이 좋습니다. – Thomas

+0

안녕하세요. 감사. 난 그냥 내 추가 및 편집보기를 분리하고 모든 일을 잘하고 있습니다. 나는 가능하다면 제일 먼저 점검 할 것이라고 생각했다. – GerryDevine

답변

1

미안하지만 그건 불가능합니다. 장고 보호자는 그 요청을 위해 빌드되지 않습니다. 어쨌든 모든 CRUD보기 (만들기, 읽기, 업데이트, 삭제)를 자체적으로 만드는 것이 좋습니다.